본문 바로가기

Ai3

[Pytorch] Seq2Seq Transformer 실습 ※ 해당 실습 이론은 https://nusnxxy.tistory.com/71 에 포스팅 되어있습니다. 위키북스 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습 서포터즈가 되어 교재 7장 실습 포스팅을 진행하게 되었습니다. 이번 포스팅에선 교재에 나와있는 실습 중, 파이토치에서 제공하는 트랜스포머 모델을 활용해 영어-독일어 번역 모델 실습을 진행하도록 하겠습니다...! 코드가 길기 때문에 위키북스 Git으로 먼저 들어가서 코드를 참조하셔도 좋습니다. git link : https://github.com/wikibook/pytorchtrf 학습에 사용되는 데이터세트는 Multi30k 입니다. https://github.com/multi30k/dataset GitHub - multi30k/dat.. 2024. 2. 4.
[Pytorch] Transformer Transformer Model은 2017년 https://arxiv.org/abs/1706.03762 논문을 통해 소개된 모델입니다. Transformer Model의 주요 기능은 Sequential Processing, Recurrent Connections에 의존하지 않고 입력들 사이의 패턴을 찾아내 병렬로 sequence를 처리합니다. 때문에 Big Data를 처리하기에 매우 효율적인 모델이라 할 수 있습니다. Transformer 모델은 크게 인코더(Encoder)와 디코더(Decoder)로 이루어져 있습니다. 먼저 인코더(Encoder)는, input sequence를 Embedding하여 고차원의 벡터로 변환하는 과정을 거칩니다. 디코더(Decoder)는, 인코더의 출력을 입력으로 받아 출력.. 2024. 1. 28.
[Pytorch] 가중치 초기화(Weight Initialization) 💡 가중치 초기화 : 모델 초기 가중치 값을 설정 : 초기 가중치에 따라 모델을 최적화 하는 데 많은 어려움을 겪을 수 있음 💡 가중치 초기화 방법 1. 상수 초기화 - 가중치를 모두 같은 값으로 초기화 - 구현이 간단하고 계산 비용이 거의 들지 않음 - 대칭 파괴(Breaking Symmetry) 현상 발생 * 대칭 파괴 ** 예를들어 가중치 값을 모두 0으로 할당하면 역전파 과정에서 모든 가중치가 동일한 값으로 갱신 - 스칼라값을 입력으로 받는 매우 작은 모델이나 퍼셉트론에 적용 - 주로 0 or 0.01등의 형태로 초기화 2. 무작위 초기화 - random 값이나 특정 분포 형태로 초기화 * Random, Unifom Distribution, Normal Distribution, Truncated .. 2024. 1. 16.