📖 Study/Pytorch
Deep Learning Basics - 1 : 기초 모델 정리
딥러닝 기초
인공신경망 (ANN)
장단점
- 복잡한 문제를 해결할 수 있음
- 입력된 데이터를 통해 스스로 학습할 수 있음
한계점
- 계산량이 많아 훈련 시간이 오래 걸릴 수 있음
- 과적합 문제가 발생할 가능성이 있음
극복점
- GPU를 사용하여 병렬처리를 통해 훈련 시간을 대폭 감소시킬 수 있음
- 드롭아웃, 배치 정규화 등의 방법을 사용하여 과적합 문제를 해결할 수 있음
퍼셉트론 (Perceptron)
장단점
- 가장 기본적인 구조로 구현이 간단함
- 이진 분류 문제를 해결할 수 있음
한계점
- XOR 문제를 해결하지 못함
- 다층 퍼셉트론으로 층을 추가해야 함
극복점
- 다층 퍼셉트론으로 층을 추가하여 XOR 문제를 해결할 수 있음
다층 퍼셉트론 (MLP)
장단점
- 복잡한 패턴을 학습할 수 있음
- 입력 데이터의 크기가 고정되어 있지 않아 다양한 크기의 입력을 처리할 수 있음
한계점
- 과적합 문제가 발생할 가능성이 있음
- 데이터가 많을수록 복잡한 모델이 필요하기 때문에 계산량이 많아질 수 있음
극복점
- 드롭아웃, 배치 정규화 등의 방법을 사용하여 과적합 문제를 해결할 수 있음
합성곱 신경망 (CNN)
장단점
- 이미지 처리에 뛰어난 성능을 보임
- 필터를 사용하여 특징을 추출할 수 있음
한계점
- 데이터의 위치 정보를 고려하지 않아 이미지 왜곡에 취약함
- 2D 이미지에서만 사용 가능함
극복점
- 위치 정보가 유지되는 공간적 변환(Spatial Transformer Networks)을 사용하여 이미지 왜곡에 대처할 수 있음
순환 신경망 (RNN)
장단점
- 시퀀스 데이터 처리에 뛰어난 성능을 보임
- 이전 시점의 정보를 보존하여 시계열 데이터 처리에 효과적임
한계점
- Vanishing Gradient 문제가 발생할 가능성이 있음
- 시퀀스 길이가 길어질수록 성능이 저하될 가능성이 있음
극복점
- LSTM, GRU 같은 모델을 사용하여 Vanishing Gradient 문제를 해결할 수 있음
- Attention 메커니즘을 사용하여 시퀀스 길이에 상관없이 입력을 처리할 수 있음
장단기 메모리 (LSTM)
장단점
- Vanishing Gradient 문제를 해결할 수 있음
- 이전 시점의 정보를 보존하고 필요한 정보만을 전달하여 효과적인 학습이 가능함
한계점
- 계산량이 많아 학습이 오래 걸림
- 적절한 구조를 설계하지 않으면 과적합 문제가 발생할 수 있음
극복점
- Cell state와 Gate를 사용하여 구조를 설계하여 과적합 문제를 해결할 수 있음
게이트 순환 유닛 (GRU)
장단점
- LSTM보다 적은 파라미터 수와 빠른 학습 속도를 가짐
- 입력 게이트와 출력 게이트만으로 연산량을 줄일 수 있어 계산 효율성이 높음
한계점
- LSTM보다 성능이 떨어질 수 있음
- 대부분의 경우 LSTM이 더 나은 성능을 보임
극복점
- Input-Output Gate만을 사용하여 연산량을 줄이고, 빠른 학습 속도와 경량화된 모델 구현이 가능함
인코더 (Encoder)
장단점
- 입력 Sequence를 고정 길이의 벡터 표현으로 변환하여 정보 손실을 최소화 함
- 이전 시점의 정보를 보존하며, 필요한 정보만을 전달하여 학습할 수 있음
한계점
- 디코더에 의해 생성된 결과에 대한 정보가 부족할 수 있음
- 인코더의 구조와 하이퍼파라미터를 적절하게 조절하지 않으면 과적합 문제가 발생할 수 있음
극복점
- 여러 개의 인코더를 사용하여 다양한 정보를 학습할 수 있음
- 드롭아웃, 배치 정규화 등의 방법을 사용하여 과적합 문제를 해결할 수 있음
디코더 (Decoder)
장단점
- 인코더에서 생성된 벡터 표현을 입력으로 받아 출력 Sequence를 생성하여 다양한 문제에 적용할 수 있음
- 시작 토큰부터 시작하여, 종료 토큰이 나올 때까지 생성하므로 가변적인 길이의 출력 Sequence를 생성할 수 있음
한계점
- 인코더에서 생성된 결과에 대한 정보가 충분하지 않을 수 있음
- 디코더의 구조와 하이퍼파라미터를 적절하게 조절하지 않으면 과적합 문제가 발생할 수 있음
극복점
- Attention 메커니즘을 사용하여 인코더에서 생성된 정보에 대한 가중치를 부여하여 디코더의 성능을 향상시킬 수 있음
- 드롭아웃, 배치 정규화 등의 방법을 사용하여 과적합 문제를 해결할 수 있음
생성적 적대 신경망 (GAN)
장단점
- 새로운 이미지, 음악, 텍스트 등의 생성에 뛰어난 성능을 보임
- 이미지 생성 분야에서 높은 자연성을 가지는 결과를 생성할 수 있음
한계점
- 모델 학습이 불안정할 수 있음
- 생성된 결과의 품질과 다양성이 일정하지 않을 수 있음
극복점
- 판별자와 생성자 간의 균형을 맞추기 위해 다양한 기법을 사용하여 모델 학습을 안정화시킬 수 있음
- 모델 구조와 하이퍼파라미터를 적절하게 조절하여 생성된 결과의 품질과 다양성을 향상시킬 수 있음
오토인코더 (Autoencoder)
장단점
- 입력 데이터를 축약한 표현으로 인코딩하고, 이를 다시 복원하는 딥러닝 모델
- 데이터의 차원 축소, 노이즈 제거, 데이터 압축 등 다양한 분야에서 활용 가능
한계점
- 단순한 구조로 구현되어 있어, 다양한 문제에 적용하기 어려울 수 있음
- 인코더와 디코더의 구조와 하이퍼파라미터를 적절하게 조절하지 않으면 과적합 문제가 발생할 수 있음
극복점
- 인코더와 디코더의 구조를 바꾸어 다양한 분야에 적용할 수 있음
- 드롭아웃, 배치 정규화 등의 방법을 사용하여 과적합 문제를 해결할 수 있음
변형 오토인코더 (VAE)
장단점
- 오토인코더의 기능에 더해 데이터 생성에 뛰어난 성능을 보임
- 확률적인 방식으로 데이터 생성이 가능하여 다양한 결과를 생성할 수 있음
한계점
- 데이터 생성에서 생성된 결과의 품질과 다양성이 일정하지 않을 수 있음
- 모델 구조와 하이퍼파라미터를 적절하게 조절하지 않으면 과적합 문제가 발생할 수 있음
극복점
- 인코더와 디코더 간에 KL divergence를 사용하여 분포를 균등하게 만들어 줌으로써 생성된 결과의 품질과 다양성을 향상시킬 수 있음
- 모델 구조와 하이퍼파라미터를 적절하게 조절하여 생성된 결과의 품질과 다양성을 향상시킬 수 있음
강화학습 (RL)
장단점
- 에이전트가 환경과 상호작용하며 보상을 최대화하는 방법을 학습하는 알고리즘
- 게임, 자율주행, 로봇 제어 등 다양한 분야에서 활용 가능
한계점
- 학습 시간이 오래 걸리며, 모델이 수렴하지 않을 가능성이 있음
- 보상 함수의 설계가 핵심적이며, 잘못된 보상 함수는 적절한 결과를 얻을 수 없음
극복점
- DQN, A2C, PPO 등의 알고리즘을 사용하여 학습 시간을 단축시킬 수 있음
- 보상 함수를 적절하게 설계하여 적절한 결과를 얻을 수 있음
물론이죠, 제가 무엇에 대해 쓰길 바라나요?
댓글