# 01. input layer의 역할
- NN(신경망)의 input layer는 후속 인공 뉴런 계층에서 추가 처리를 위해 초기 데이터를 받아들이는 layer이다.
# 02. Embedding layer의 역할
- keras에서 사용 가능한 레이어로, 주로 언어 모델링같은 **자연어** 처리 관련 응용프로그램에서 사용(무조건은 아님).
- Test Data를 다룰땐, 학습 이전 input layer에 입력시 숫자로 변환해줘야한다. 이를 위해 사용한다.
- 임베딩을 사용하면 각 단어를 **정의된 크기의 고정길이 벡터**로 변환가능하다.
- 신경망을 포함한 다른 작업에서도 사용가능하다.
# 03. Dence layer의 역할
- 시계열 데이터 및 텍스트처리의 LSTM, 이미지처리의 ConV layer 등과 같은 고유한 레이어이다.
- 완전연결계층이라고도 하는 Dense layer는 다음 layer로 넘겨주기 전 **이전 layer의 값을 다음 층과 이어주는** 역할을 한다.
# 04. Reshape 레이어의 역할
- 주어진 데이터를 넣어줄때, 임의적으로 입력 형태의 **모든 치수를 고정**해서 넣어주어야 한다.
- 예로 전이학습 모델에서 각 모델별 입력으로 넣어주어야 하는 데이터 크기가 고정되어있는데 모든 데이터의 크기는 다르기 때문에, 이를 Reshape 해주어야 한다.
# 05. Concatenate 레이어의 역할 설명
- **결합계층** 이라고 하며, 입력값을 받아서 지정된 차원을 따라 결합한다.
- 입력값은 결합 차원을 제외한 모든 차원에서 크기가 동일해야한다.
# 06. ConV2D 레이어의 역할 설명
- 2차원 컨벌루션 계층은 2차원 입력값에 슬라이딩 컨벌루션 필터를 적용한다.
- 입력값의 가로, 세로 방향을 따라 필터를 이동하면서 **가중치**와 **입력값의 내적**을 계산한 다음 bias 항을 추가하여 입력값을 convolution 한다.
# 07. 활성화 함수 ReLu, LeackyReLu의 차이점
- ReLu 함수
- x, x>0 ,,,, 0, x<=0 을 만족하는 **비선형 임계값 연산**을 수행한다.
- 비선형 함수이기 때문에, 역전파에서 오류가 없다.
- 비교되는 시그모이드 함수와 다르게 대규모 네트워크용으로 쉽고 빠르게 구축할 수 있다.
- LeackyReLu 함수
- 음수 값에 대해서는 평평한 기울기가 아닌 작은 기울기를 가진다.
- 차이점
- 경사 하강법을 이용해 신경망을 훈련시킬때, ReLu 함수에서 발생할 수 있는 입력값이 음수인 경우 0으로 받아지는 것을 방지하기 위해 LeackyReLu 사용
# 08. Flatten 레이어의 역할 설명
- Flatten layer는 입력값의 공간 차원을 채널차원으로 축소하기 위해 사용한다.
- 데이터를 전달하기 이전 1차원으로 축소한다,
# 09. Dense 레이어와 Flatten 레이어의 차이점
- Dense는 데이터 point의 서로 다른 피처의 연관성이 있는경우 서로 연결하기 위해 사용하지만 Flatten은 데이터의 차원을 1차원으로 바꿀때 사용.
# 10. Dropout 레이어의 원리와 역할
- 단일 모델을 사용할 경우
- 모델 학습중에 노드를 임의로 종료하여 오버피팅을 방지할 수 있다. 즉, 주어진 확률에 따라 입력 요소를 무작위로 0으로 만든다.
# 11. Optimizer(옵티마이저)란 무엇인지와 역할 설명
- 손실함수를 최소화 하거나 효율을 높이기 위해 사용되는 함수이다.
- 가중치같은 모델의 학습 가능한 매개변수에 따라 달라지는 함수이다.
- 1. 경사하강법
- 지역 소실점을 막기 위해 고안된 방식
- 계산속도가 느리고 대용량 메모리가 필요하다는 단점이 있음
- 2. 확률적 경사하강법
- 더 적은 메모리와 대용량 데이터세트를 사용할 수 있다.
- 적용 빈도가 높아질수록 노이즈 기울기가 발생할 수 있다.
- 분산이 높고 계산을 자주 실시한다.
- 3. 미니배치 경사하강법
- 훈련 데이터 세트를 여러 작은 세트로 분할하여 각 배치에 대한 업데이트를 수행한다,
- 안정적으로 수렴하고 더 적은 양의 메모리를 필요로 한다.
- 기존 위 2가지 방식보다 좋은 수렴결과를 주지 않는 경우도 있다.
- 학습 속도가 느리면 수렴 속도가 매우 느리다. 너무 빠르면 손실 함수가 진동을 발생시키거나 최소값에서 편차가 심해진다.
- 4. 모메텀이 있는 SGD
- 확률적 경사하강법에서 운동량을 추가한 방식이다.
- 잡음을 줄이는데 좋고, 지수 가중 평균은 곡선을 부드럽게 만들어준다.
- 단 추가 하이퍼파라미터가 있어 설정해주어야 한다.
- 5. 적응 경사하강법
- 학습의 반복에 따라 적응형으로 변한다,
- 학습률이 작으면 뉴런이 동작하지 않는 문제가 있다.
- 6. RMS 전파
- 적응 경사하강법 기반인 기울기의 지수 평균이다.
- 학습률을 자동으로 조정되고 각 매개변수에 대한 학습률을 선택할 수 있다.
- 단 학습이 매우 느리다는 단점이 있다.
-7. Adam
- 가장 인기있는 경사하강법 모델이다.
- RMS 전파 + 적응 경사하강법 형태이다.
- 구현하기 쉽고 작은 메모리를 요구하여 현재 가장 많이 쓰이고 있다.
# 12. Keras 에서 Functional API 모델과 Sequential 모델의 차이점과 현재 사용중인 모델이 어느 방식을 사용하는지
- 1. Sequential AIP
- 여러 입출력을 가질 수 없다.
- 레이어별로 모델을 생성한다.
- 계층의 분기, 공유가 불가능 하다.
-
- 2. Functional AIP
- Sequential AIP보다 유연하다.
- 계층의 분기, 공유가 가능하다.
- Functional API VS Sequential API
- Sequential API는 출력 y1, y2를 예측하기 위해선 2개의 서로 다른신경망을 구현해야한다. Functional AIP는 단일 네트워크에서 두개의 출력을 예측할 수 있다.
- Functional API는 입력에 여러개를 넣을수 있고, 출력도 여러개로 나올 수 있다.
- Sequential API는 단일 입력에 대한 단일 출력이 나온다.
- CGAN은 Sequential API를 사용하였다. 입력되는 데이터는 이미지 데이터 1개이고 이를 예측하는 문제이다. (from tensorflow.keras.models import Sequential 가 선언되어있어 Sequential API를 사용했다고 알 수 있다.)
# 13. ConV2DTranspose 레이어 설명과 역할
- Conv2DTranspose는 Convolution 연산이 들어가서 해상도를 키운다. 이 연산은 학습과정에서 필터가 학습이 된다.
- Convolution 과정의 역을 하는 느낌, 하지만 이전에 계산된 Convolution 값이 그대로 나오는것이 아니다.(전치행렬을 곱하는 형태)
- 이전 Convolution 과정에서의 데이터 차원으로 다시 돌릴 수 있다.
# 14. GAN의 원리 설명하기 - discriminator 모델과 generator 모델의 특징 각각 설명
- GAN 이란?
- 적대적 생성모델로서 새로운 데이터를 만들어내고 만들어낸 데이터를 가짜인지 구별 후 생성된 데이터를 정교하게 만들어 진짜로 속이는 과정을 구현한 모델이다.
- 이미지 산출기능이 있어, 예를들어 안경쓴 남성 - 남성 + 여성 = 안경쓴 여성을 만들어내 출력할 수 있다.
- discriminator 모델과 generator 모델의 특징
- 1. 진짜 데이터를 입력해주어 네트워크가 해당 데이터를 진짜로 분류하도록 학습한다.
- 2. generator 모델에서 생성한 가짜 모델을 입력하여 discriminator에서 가짜로 분류하도록 학습한다.
- minmax problem을 해결하는 방식으로 학습하며, GAN의 기본원리이다.
GAN 설명이 있는 이유
- 이미지 데이터나 신호데이터를 이미지형태로 변형했을 때, 데이터의 수가 부족하여 학습이 잘 이루어지지 않을 경우 데이터 증대를 실시한다. 이 때 GAN 을 통해 이미지를 증대시켜주는 방법이 있는데 이를 위해 GAN 설명이 들어가있음.
'AI > 공부' 카테고리의 다른 글
[인공지능]뉴런을 이용해 딥러닝 맛보기(유방암, 아이리스, 타이타닉) (0) | 2024.08.02 |
---|---|
인공지능 데이터 전처리방법 (0) | 2024.08.01 |
인공지능 데이터분석 방법 (0) | 2024.08.01 |
인공지능 모델 학습 시 설정해주는 파라미터 - 배치 사이즈, 학습률 (0) | 2023.08.03 |