AI(75)
-
[Deep Learning - CV] Generative Adversarial Network ( GAN )
GAN ( Generative Adversarial Network , 생성적 적대 신경망 ) 이란? Deepfake 기술처럼 실제와 유사한 데이터를 만들어 내는 생성모델 ▶ 생성자 ( Generator ) 실제와 동일한 데이터를 만듦 ▶ 판별자 ( Discriminator ) 생성된 데이터가 진짜인지 아닌지를 판단 Cycle GAN 이란? 과일의 색을 바꾸거나 사진 속 계절을 바꾸는 등 같은 모델
2022.05.17 -
[Deep Learning - CV] AutoEncoder ( AE )
→AutoEncoder 란? ▶ Latent ( 잠재 ) 벡터 원본 데이터보다 차원이 작으면서도, 원본 데이터의 특징을 잘 보존하고 있는 벡터 ▶ AutoEncoder의 쓰임새 → 차원축소 ( Dimensionality Reduction ) → 데이터 압축 → 데이터 노이즈 제거 ( Denoising ) → 이상치 탐지 ( Anomaly Detection ) AutoEncoder 코드 구현 def create_AE(): input_img = Input(shape=(32, 32, 1)) channels = 2 x = input_img for i in range(4): channels *= 2 # 사용할 함수 : Conv2D(activation='relu', padding='same'), Concatenat..
2022.05.16 -
[Deep Learning - CV] Beyond Classification ( Segmentation & Object Detection )
분할 ( Segmentation ) 이란? 같은 의미를 가지는 부분을 구분해 내는 Task ▶ Semantic Segmentation 의미적으로 분류되는 개체에 대해서 동일하게 라벨링을 해줌 ▶ Instance Segmentation 의미적으로 같더라도 다른 개체라면 다르게 라벨링을 해줌 FCN ( Fully Convolutional Networks ) 란? CNN에서 사용했던 완전 연결 신경망의 위치정보를 무시하기 때문에 Segmentation에 적용하기 적절하지 않는 점을 보와하기 위해 합성곱 층으로 모두 대체함 ▶ UpSampling 원래 이미지의 크기로 키우는 과정 ▶ DownSampling 이미지의 특징을 추출하는 과정 U-Net 이란? ▶ UpSampling Convolution, Maxpoo..
2022.05.13 -
[Deep Learning - CV] Convolutional Neural Network ( CNN )
CNN ( Convolutional Neural Network, 합성곱 신경망 ) 이란? MLP에서 이미지의 공간적인 특성을 잘 살려내지 못한다는 점을 합성곱층을 이용해서 학습시 공간적인 특성을 보존할 수 있도록 만든 모델 ▶ CNN의 구조 → 특징 추출 부분 → 분류를 위한 신경망 합성곱 ( Convolution ) 과 풀링 ( Pooling ) ▶ 합성곱 ( Convolution ) 합성곱 필터가 슬라이딩하면 이미지 부분부분의 특징을 읽어감 → 패딩 ( Padding ) 합성곱을 할 때 이미지가 줄어드는 것을 방지해주는 역할 이미지 외부에 특정한 값으로 둘러싸주는 방식 → 스트라이드 ( Stride ) 슬라이딩 시 보폭 → 채널 ( Channel ) 과 필터 ( Filter ) ▶ 풀링 ( Pooli..
2022.05.13 -
[Deep Learning - NLP] Transformer
Transformer란? Attention 매커니즘을 극대화 시킨 모델 ▶ Encoder Sub-layer Mult - Head ( Self ) Attention과 Feed Forward 두 개의 층으로 구성 def encoder_layer(dff, d_model, num_heads, dropout, name="encoder_layer"): inputs = tf.keras.Input(shape=(None, d_model), name="inputs") # 인코더는 패딩 마스크 사용 padding_mask = tf.keras.Input(shape=(1, 1, None), name="padding_mask") # 멀티-헤드 어텐션 (첫번째 서브층 / 셀프 어텐션) attention = MultiHeadAtte..
2022.05.10 -
[Deep Learning - NLP] Language Modeling With RNN
RNN ( Recurrent Neural Network, 순환 신경망 ) 이란? 입력과 출력을 시퀀스 단위로 처리하는 시퀀스 ( Sequence ) 모델 ▶ RNN의 종류 ① one to one : 1개의 벡터를 받아 Sequential한 벡터를 반환 ex) 이미지 캡셔닝(Image captioning) ② one to many : Sequential 벡터를 받아 1개의 벡터를 반환 ex) 감성 분석(Sentiment analysis) ③ many to many (1) : Sequential 벡터를 모두 입력받은 뒤 Sequential 벡터 출력 ex) 시퀀스-투-시퀀스(Sequence-to-Sequence, Seq2Seq) 구조, 기계 번역(Machine translation) ③ many to man..
2022.05.09