반응형

 

 

 

https://www.kaggle.com/code/awsaf49/lmsys-kerasnlp-starter/notebook

 

LMSYS: KerasNLP Starter

Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources

www.kaggle.com

 

keras_nlp 라이브러리로 누군가 가이드 코드를 작성해 놓아서

데이터 이해 겸 한 번 해당 코드를 실행해 보았다.

 

 

0. 기본 라이브러리 및 config 세팅을 해 주었다.

 

 

 

반응형
반응형

 

https://openaccess.thecvf.com/content_CVPR_2019/papers/Karras_A_Style-Based_Generator_Architecture_for_Generative_Adversarial_Networks_CVPR_2019_paper.pdf

 

0. Title

A Style-Based Generator Architecture for Generative Adversarial Networks

: 생성형 네트워크를 위한 스타일 기반의 생성 아키텍처.

"스타일"에 초점이 맞추어져 있나보다.

 

1. Abstract

새로운 아키텍처는 사람 얼굴을 학습할 때 자세와 신원과 같은 고수준 특징들을 자동으로 학습하여 분리할 수 있다.

또한, 생성된 이미지에서 주근깨, 머리카락과 같은 확률적 변동(stochastic variation)을 잡아내고 이를 직관적이고 스케일별로 제어할 수 있다.

 

또한, 새로운 생성기는 분리(disentanglement) 품질 측정방법의 관점에서 발전시켰다.

이는 interpolation의 성능을 높이고, 변화의 잠재 요인(latent factor)을 더 잘 분리시킨다.

 

보간 품질과 분리를 정량화하기 위해 두 가지 새롭고 자동화된 방법을 제안하며, 이는 모든 생성자 아키텍처에 적용 가능하다.

마지막으로, 다양하고 고품질의 얼굴 데이터셋을 소개한다.

 

2. Structure

기존 방식과의 차이이다. AdaIN이라는 것이 눈에 띄인다.

그리고 systhesis network를 따로 빼서 중간 중간 입력값을 넣어주고, 노이즈를 섞어주고 있다.

 

입력을 중간 잠재 공간 W로 매핑한 후, 각 컨볼루션 레이어에서 적응형 인스턴스 정규화(AdaIN)를 통해 생성자를 조절한다. 각 컨볼루션 이후에는 비선형성을 평가하기 전에 가우시안 노이즈가 추가된다. 여기서 'A'는 학습된 어파인 변형을 나타내며, 'B'는 노이즈 입력에 대한 학습된 채널별 스케일링 요소를 적용한다. 매핑 네트워크 f는 8개의 레이어로 구성되어 있고, 합성 네트워크 g는 해상도마다 2개의 레이어를 가지며 총 18개의 레이어로 구성된다(4x4부터 1024x1024까지). 마지막 레이어의 출력은 Karras 등의 연구와 유사하게 1x1 합성곱을 사용하여 RGB로 변환된다. 생성자는 총 26.2M의 학습 가능한 매개변수를 갖고 있는데, 이는 전통적인 생성자의 23.1M과 비교하여 더 많다.



3. Style based generator

먼저, 입력 공간과 중간 잠재 공간 W의 차원을 모두 512로 설정하고 있다. 중간 잠재 공간 W에서의 매핑 네트워크 f는 8개의 레이어로 이루어진 MLP(Multi-Layer Perceptron)로 구현되었다. 

학습된 어파인 변형은 w를 스타일인 y = (ys, yb)로 특화시킨다. 이 스타일은 합성 네트워크 g의 각 컨볼루션 레이어 이후에 적응적인 인스턴스 정규화(AdaIN) [26, 16, 20, 15] 작업을 제어하는 역할을 한다. AdaIN 연산은 각 피쳐 맵 xi를 개별적으로 정규화한 다음, 스타일 y의 해당 스칼라 요소를 사용하여 스케일링과 바이어스를 적용한다. 따라서 y의 차원은 해당 레이어의 피쳐 맵 수의 두 배이다.

스타일 전이와 비교하여 우리의 접근 방식은 예시 이미지 대신 벡터 w에서 공간에 불변적인 스타일 y를 계산한다. 우리는 y라는 용어를 선택한 이유는 비슷한 네트워크 구조가 이미 피드포워드 스타일 전이 [26], 비지도 이미지 간 번역 [27], 도메인 혼합 [22]에 사용되고 있기 때문이다. 일반적인 특징 변환 [35, 53]과 비교하여, AdaIN은 효율적이고 간결한 표현력 때문에 우리의 목적에 특히 적합하다.

마지막으로, 우리는 명시적인 노이즈 입력을 도입하여 생성자가 확률적인 디테일을 생성할 수 있도록 한다. 이 노이즈 입력은 상관관계 없는 가우시안 노이즈로 구성된 단일 채널 이미지이며, 합성 네트워크의 각 레이어에 전용 노이즈 이미지를 입력으로 제공한다. 노이즈 이미지는 학습된 피쳐별 스케일링 요소를 사용하여 모든 피쳐 맵으로 브로드캐스트되고, 해당 컨볼루션의 출력에 추가된다.

 

 

4. 정리

이 논문은 생성 적대 신경망(GANs)을 위한 스타일 기반 생성자 아키텍처에 대한 연구를 제시한다.

기존의 GAN은 입력으로 잠재 벡터(latent vector)를 사용하여 이미지를 생성하는데, 이 논문에서 제안하는 스타일 기반 생성자 아키텍처는 스타일 정보를 잠재 벡터와 분리하여 다루는 방법을 소개한다. 이 아키텍처는 먼저 입력으로 잠재 벡터를 받아들이고, 그 다음에는 스타일 정보를 얻기 위해 이를 스타일화 네트워크(style network)에 통과시킨다.

스타일화 네트워크는 입력 이미지의 스타일을 분석하여 스타일 벡터(style vector)를 생성하는 역할을 한다. 스타일 벡터는 입력 이미지의 색상, 질감, 형태 등과 같은 스타일적 특징을 포착하는데 사용된다. 그 다음, 스타일 벡터는 각각의 스타일화 층(style modulation layer)에 적용된다.

스타일화 층은 생성자 네트워크의 각 층에 적용되는 스케일링과 이동을 결정하는 역할을 한다. 이를 통해 스타일 벡터는 이미지의 각 부분에 대해 적절한 스타일을 적용하는데 사용된다. 따라서, 스타일 기반 생성자 아키텍처는 더 풍부하고 다양한 이미지 생성을 가능하게 한다.

실험 결과는 스타일 기반 생성자 아키텍처가 기존의 GAN보다 더 나은 생성 결과를 도출하는 것을 보여준다. 스타일 기반 생성자는 세밀한 스타일 조절이 가능하며, 이미지의 해상도와 품질을 향상시키는 데 효과적이다.

이 논문은 GAN의 생성자 아키텍처를 혁신적으로 발전시키고, 생성된 이미지의 품질과 다양성을 향상시키는 방향으로 기여한 것으로 평가된다. 스타일 기반 생성자 아키텍처는 다양한 응용 분야에서 이미지 생성 및 스타일 전이(style transfer)와 같은 작업에 활용될 수 있다.

 

 

5. 궁금한 점 및 더 알아볼 점

GAN에서 '잠재 공간 W'이라는 게 어떤 의미인가?

반응형
반응형

 

 

 

논문 링크입니다.

https://arxiv.org/pdf/2112.00322v1.pdf

2022년 발행

 

 

0. Title

FCAF3D: Fully Convolutional Anchor-Free 3D Object Detection

-> 앵커가 없이, Fully Convolution을 사용하여 3D 객체 인식을 하는 건가 보다...

 

1. Abstract

최근 로보틱스와 증강현실에서 촉망받는 분야인 포인트 클라우드(라이다 센서나 RGB-D센서 등으로부터 수집되는 데이터) 기반의 3D 객체 인식이다.

이 논문에서 우리는 FCAF3D, 즉, 최초의 Fully Convolutional Anchor-Free 3D Object Detection 방법을 소개할 것이다.

포인트 클라우드로부터 Voxel(부피와 픽셀 표현을 사용하고, 밀도가 적은(sparse) 컨볼루션을 처리한다.

 

FCAF3D는 하나의 fully convolution feed-forward pass를 통해 큰 크기의 장면들을 적은 런타임으로 다룰 수 있다.

*feed-forward pass : 입력층으로 데이터가 입력되고, 1개 이상으로 구성된 은닉층을 거쳐서 마지막에 있는 출력층으로 출력 값을 내보내는 과정

 

기존의 3D 객체 인식은 객체의 기하학을 기반으로 사전 추정을 하였는데, 

우리는 이것이 그들의 일반화 능력을 제한한다고 주장하였다.

따라서, 사전 추정을 없애기 위해 우리는 oriented bounding box의 매개변수화를 제안하였다.

이를 통해, 순수하게 data만을 지향하는 방식으로 더 좋은 결과를 낼 수 있었다.

 

우리의 방식은

mAP@0.5 on ScanNet V2 (+4.5), SUN RGB-D (+3.5), and S3DIS (+20.5) datasets

의 결과가 있었다.

코드와 모델은 이곳에서 볼 수 있다.

https://github.com/samsunglabs/fcaf3d

 

GitHub - SamsungLabs/fcaf3d: [ECCV2022] FCAF3D: Fully Convolutional Anchor-Free 3D Object Detection

[ECCV2022] FCAF3D: Fully Convolutional Anchor-Free 3D Object Detection - GitHub - SamsungLabs/fcaf3d: [ECCV2022] FCAF3D: Fully Convolutional Anchor-Free 3D Object Detection

github.com

 

 

 

 

 

 

 

반응형
반응형

 

 

 

1. 구문론적 구조 : Consistency와 Dependency


1) Consistency structure : context-free grammars(CFGs)

- 시작 : 단어

ex) the, cat, cuddly, by, door

- 단어가 구문으로 합쳐짐

ex) the cuddly cat, by the door

- 구문이 더 큰 구문으로 합쳐짐

ex) the cuddly cat by the door

 

 

 

2) Dependency structure

: 어떤 단어가 다른 어떤 단어에 의존하고 있는지를 보여준다.

 

 

3) 왜 문장구조가 필요한가?

모델이 언어를 정확하게 해석하기 위해서

전치사 부착(attachment)의 애매함 때문에

 

범위의 애매함 때문에

동사 구절 부착(attachment)의 애매함 때문에

 

 

2. Dependency Grammar


단어들간의 관계로 구성되어 있다.

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'AI > CS224n' 카테고리의 다른 글

Lecture 3 - Backprop and Neural Networks  (0) 2022.07.27
Lecture 2 - Neural Classifiers  (0) 2022.07.19
Lecture 1 - Intro & Word Vectors  (0) 2022.07.13
반응형

 

 

 

NER(Named Entity Recognition)


문장에서 이름들을 찾고, 분류하는 태스크이다.

예1) Paris(PER) Hilton(PER) wowed in a sequin gown.

예2) Samuel(PER) Quinn(PER) was arrested in the Hilton(LOC) Hotel(LOC) in Paris(LOC) in April(DATE) 1989(DATE).

-> Paris가 지역이 아닌 사람 이름이라는 것을 분류하기 위해서는 "context"를 고려해야 한다.

 

 

 

Simple NER


아이디어 : 주변 단어들의 문맥 안에서 각각의 단어를 분류한다.

- logistic classifier를 학습시킨다.

- 단어 벡터들을 concatenate한 것을 바탕으로 center word를 분류한다.

 

 

 

 

Gradients


n개의 input과 1개의 output이 있는 f(x) = f(x1, x2, ..., xn) 이 있을 때,

f(x)의 미분값은 각각의 input들의 편미분의 벡터이다.

 

 

 

Jacobian Matrix: Generalization of the Gradient


n개의 input과 m개의 output이 있는 f(x) = [f1(x1, x2, ..., xn), ..., fm(x1, x2, ..., xn)] 이 있을 때,

f(x)의 미분값은 편미분들의 m x n 행렬이다.

 

 

 

Question


- logistic인지? softmax인지?

 

 

 

 

 

 

 

 

반응형

'AI > CS224n' 카테고리의 다른 글

Lecture 4 - Syntactic Structure and Dependency Parsing  (0) 2022.08.03
Lecture 2 - Neural Classifiers  (0) 2022.07.19
Lecture 1 - Intro & Word Vectors  (0) 2022.07.13
반응형


Lecture 2
Word Vectors, Word Senses, and Neural Network Classifier

# Word2vec parameters and computations

### bag of words


각각의 단어 벡터를 구하고, outside 벡터와 center 벡터를 dot product한 다음, softmax로 결정한다.
이것은 bag of words 모델로, 단어의 순서를 고려하지 않는 모델이다.


### Word2vec은 비슷한 단어들을 가까이 둠으로써 목적함수를 최대화할 수 있다.


# Optimization : Gradient Descent
- 비용함수를 최소화해야 한다.
- Gradient Descent는 기울기를 변형함으로써 비용함수를 최소화할 수 있다.
- Update Equation


### 문제 : 모든 windows들에 함수를 적용하기 때문에 굉장히 비용이 크다.
- 해결책 : Stochastic gradient descent
-> 배치로 뽑아서 각각 업데이트하는 방식
- 일반적으로 row가 단어 하나의 벡터이다.


### Word2vec detail
두 가지 모델 방식
1) Skip-gram
2) Continuous Bag of words(CBOW)



Skip gram : center word가 주어지고, other words 예측
Cbow : other words가 주어지고, center word 예측

Skip gram model with Negative sampling
Object function은 center와 others를 dot product
: softmax -> logistic / sigmoid (0-1사이로 만듬)
- 실제 outside words가 나타날 확률을 늘리고
- 랜덤 words가 center word 주위에 나타날 확률을 줄인다
- Unigram 분포에 따라 샘플링한다 -> 적게 나오는 단어가 더 자주 나오게 함 -> 왜?


Co-occurrence vectors
- simple count co-occurrence vectors : 공간낭비, 고차원임 -> skip gram, cbow
- Low-dimensional vectors : 차원을 어떻게 더 줄일까? 고민

차원 줄이기(hw1)
- x = u * £ * vt
- U와 v는 가로세로 동일
- U와 v 사이즈 안 맞는 부분은 무시

Vector 차이로 의미를 인코딩하기
: Co-occurence 확률의 비율이 곧 의미가 될 수 있다

Word vector 구하기
- intrinsic : 단어 하나하나 평가, 빠르게 구함, vector간의 cosine distance로 유사도 구함, 만약 단어들간의 관계가 linear가 아니라면?
- Extrinsic : 실제 태스크에서 평가, 시간이 많이 걸릴 수 있음

성능 semantic > syntactic
Dimensional은 300 개 정도면 된다

동일 단어에 여러 뜻이 있는 경우에는
1)다른 벡터를 가지기도록 할 수 있음
2)linear algebraic하기 합쳐서 한 벡터로 표현할 수 있음


# 샘플을 왜 뽑아요?
# unigram 왜?

반응형

'AI > CS224n' 카테고리의 다른 글

Lecture 4 - Syntactic Structure and Dependency Parsing  (0) 2022.08.03
Lecture 3 - Backprop and Neural Networks  (0) 2022.07.27
Lecture 1 - Intro & Word Vectors  (0) 2022.07.13

+ Recent posts