본문 바로가기

AI/딥러닝 기초(Deep learning)32

[Pytorch][BERT] 버트 소스코드 이해_⑫ BertSelfOutput [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 📑 BERT Output 📑 BERT Embedding 📑 BERT Pooler 📑 BERT Enocder 📑 BERT Layer 📑 BERT SelfAttention 📑 BERT SelfOtput 👀 BertSelfOutput 2022. 10. 28.
[Pytorch][BERT] 버트 소스코드 이해_⑪ BertSelfAttention [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 📑 BERT Output 📑 BERT Embedding 📑 BERT Pooler 📑 BERT Enocder 📑 BERT Layer 📑 BERT SelfAttention 👀 📑 BERT SelfOtput BertSelfAttention 1. Attetion Process 1) key, query, value 생성 : 전체 hiddens_size를 실제로 attention 연산을 적용할 크기로 축소한다 2) attention score 구한다 3) context vector 구한다 (=output) ✔ num_attention_heads : (i.. 2022. 10. 28.
[Pytorch][BERT] 버트 소스코드 이해_⑩ BERT Layer [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 📑 BERT Output 📑 BERT Embedding 📑 BERT Pooler 📑 BERT Enocder 📑 BERT Layer 👀 📑 BERT SelfAttention 📑 BERT SelfOtput BertLayer 1. BertLayer의 init() ✔ transformers.apply_chunking_to_forward : 연산 효율화를 위해 chunk를 나누어서 계산한다. : This function chunks the input_tensors into smaller input tensor parts of size chunk_siz.. 2022. 10. 28.
[Pytorch][BERT] 버트 소스코드 이해_⑨ BERT model 출력값 [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 📑 BERT Output 👀 📑 BERT Embedding 📑 BERT Pooler 📑 BERT Enocder 📑 BERT Layer 📑 BERT SelfAttention 📑 BERT SelfOtput BaseModel 출력값 class BertModel(BertPreTrainedModel): def forward(...): ........ return BaseModelOutputWithPoolingAndCrossAttentions( last_hidden_state = **sequence_output**, pooler_output = **po.. 2022. 10. 28.
[Pytorch][BERT] 버트 소스코드 이해_⑧ BERT model 입력값 [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 👀 📑 BERT Output 📑 BERT Embedding 📑 BERT Pooler 📑 BERT Enocder 📑 BERT Layer 📑 BERT SelfAttention 📑 BERT SelfOtput BertModel 입력값 - BERT 모델을 생성한 후, forward 함수에서 필요한 입력값 class BertModel(BertPreTrainedModel): def forward( self, input_ids, attention_mask, token_type_ids, position_ids, head_mask, inputs_embeds, .. 2022. 10. 28.
[Pytorch][BERT] 버트 소스코드 이해_⑦ Bert Pooler [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 📑 BERT Output 📑 BERT Embedding 📑 BERT Pooler 👀 📑 BERT Enocder 📑 BERT Layer 📑 BERT SelfAttention 📑 BERT SelfOtput BertPooler : 마지막 hidden_state의 첫번째 토큰인 [CLS] 토큰의 embedding을 반환 We "pool" the model by simply taking the hidden state corresponding to the first token. The pooling layer at the end of the BERT m.. 2022. 10. 28.
[딥러닝][기초] 가중치 초기화(Weight Initializers) 아래의 해외 블로그들을 참고하여 작성한 글입니다 :) https://intoli.com/blog/neural-network-initialization/ Understanding Neural Network Weight Initialization Exploring the effects of neural network weight initialization strategies. intoli.com https://towardsdatascience.com/hyper-parameters-in-action-part-ii-weight-initializers-35aee1a28404 1. 가중치 초기화란? - 신경망을 구축하고 훈련할 때 우리는 크고 작은 선택들을 해야 합니다. 어떤 손실 함수를 사용할지, 몇 개의 레이어.. 2021. 10. 6.
[NLP] Transformer(트랜스포머)_② Deep dive 이전 글에서 Transformer(트랜스포머)가 왜 등장하였는지 그리고 어떤 특징을 가지고있는지 얕게 살펴보았습니다. 2021.05.17 - [자연어처리(NLP)] - [NLP] Transformer(트랜스포머)_1) Warm up [NLP] Transformer(트랜스포머)_1) Warm up 이 글은 아래 유튜브 영상 2개과 사이트 페이지의 내용을 정리한 글입니다. 저는 특정 딥러닝 모델이 등장한 배경, 당시 제기된 필요성에 대해서 알아가면서 배우는것을 좋아하는데요. 그런 블 hyen4110.tistory.com 이번 글에서는 Transformer(트랜스포머)의 원리에 대해서 깊게 살펴보고자 합니다. 이번 글을 작성하기위해서 참고한 글 리스트는 아래와 같으며, 특히 유튜브채널 KoreaUniv DSB.. 2021. 5. 24.
[딥러닝] 오토인코더(Autoencoder) 이 글은 아래 사이트의 내용을 정리한 글입니다. https://www.jeremyjordan.me/autoencoders/ Introduction to autoencoders. Autoencoders are an unsupervised learning technique in which we leverage neural networks for the task of representation learning. Specifically, we'll design a neural network architecture such that we impose a bottleneck in the network which forces a compre www.jeremyjordan.me 1. AutoEncoder란? - Aut.. 2021. 5. 20.
[딥러닝][퀴즈] RNN(Recurrent Neural Network) 개인적으로 딥러닝 수강과목 퀴즈 준비를 위해 예상문제와 답안을 정리한 것입니다. RNN(Recurrent Neural Network) 1. RNN과 기존 FNN의 차이점은? : 기존 FNN은 모든 입력값은 서로 독립적이라는 것을 기본 가정으로 하였지만, RNN은 이전의 결과에 의존한다는 가정을 바탕으로 네트워크 안에 루프를 만들어 과거의 정보를 반영하여 계산함으로써 정보가 지속되도록 하였다. 2. RNN의 식은? : h(t) = wx(t)+b+Uh(t-1) 3. RNN의 학습방법 : 시간축을 depth로 error signal을 전파하는 BPTT(Back-Propagation-Through-Time) 방식으로 학습 4. RNN에서 활성화함수로 tanh를 사용하는 이유는? : 시간축을 depth로 erro.. 2021. 5. 20.
[딥러닝][퀴즈] CNN(Convolutional Neural Network) 개인적으로 딥러닝 수강과목 퀴즈 준비를 위해 예상문제와 답안을 정리한 것입니다. CNN(Convolutional Neural Network) 1. CNN과 기본 FNN의 차이점 3가지(장점) 1) 기본 FNN은 입력데이터가 3차원인 이미지 데이터를 처리하기 위해서는 많은 수의 파라미터가 필요하며 그 결과 오버피팅이 발생할 가능성이 높지만, CNN은 Weight Sharing(Parameter Sharing)을 통해 필요한 파라미터수가 감소하기 때문에 오버피팅을 방지할 수 있다. 2) 위치가 달라도 동일한 feature를 추출할 수 있다(translation invariant) 3) locally connected 되어있기 때문에 이미지의 공간 정보(위치 정보)를 유지하면서 인접 이미지와의 특징(local.. 2021. 5. 20.
[NLP] Transformer(트랜스포머)_1) Warm up 이 글은 아래 유튜브 영상 2개과 사이트 페이지의 내용을 정리한 글입니다. 저는 특정 딥러닝 모델이 등장한 배경, 당시 제기된 필요성에 대해서 알아가면서 배우는것을 좋아하는데요. 그런 블로그와 유튜브를 찾다 발견한 유튜브가 있어서 기존에 포스팅한 내용을 제외하고 흐름을 따라가는것을 우선으로하여 정리해보았습니다! :) https://www.youtube.com/watch?v=TQQlZhbC5ps https://www.youtube.com/watch?v=S27pHKBEp30 1. Transformer의 등장 배경 1.1 Bag of words '[시퀀스 모델링의 문제점] 제한된 크기의 벡터로 만들어야함 -> [해결] Bag of Words' - NLP 분야의 task중 하나인 '문서로 스팸 여부 예측'하는 .. 2021. 5. 17.
[NLP] Bahdanau Attention(바다나우 어텐션) 이 글은 아래 사이트 페이지를 정리한 글입니다. https://towardsdatascience.com/sequence-2-sequence-model-with-attention-mechanism-9e9ca2a613a https://medium.com/analytics-vidhya/neural-machine-translation-using-bahdanau-attention-mechanism-d496c9be30c3 Neural Machine Translation using Bahdanau Attention Mechanism Table of Contents medium.com 1. Bahdanau Attention(바다나우 어텐션)이란? - 앞의 블로그에서 우리는 Attention이 무엇인지에 대해서 알아보았.. 2021. 5. 16.
[NLP] Attention Mechanism(어텐션) 이 글은 아래 사이트의 글과 udemy의 'deep learning advanced nlp(Lazy Programmer)의 강의를 정리한 내용입니다. https://www.udemy.com/course/deep-learning-advanced-nlp/ towardsdatascience.com/attn-illustrated-attention-5ec4ad276ee3 Attn: Illustrated Attention Attention in GIFs and how it is used in machine translation like Google Translate towardsdatascience.com 1. Attention 등장 배경 - 수십년간 통계적 기계번역(Statistical Machine Transl.. 2021. 5. 12.
[NLP] Sequence to Seqence(Seq2Seq) 이 글은 아래 유뷰트 강의, 사이트 내용, udemy 강의 'Deep Learning: Advanced NLP and RNNs' 을 정리한 글입니다. www.youtube.com/watch?v=bBBYPuVUnug d2l.ai/chapter_recurrent-modern/seq2seq.html www.udemy.com/course/deep-learning-advanced-nlp/ Deep Learning: Advanced NLP and RNNs Natural Language Processing with Sequence-to-sequence (seq2seq), Attention, CNNs, RNNs, and Memory Networks! www.udemy.com (이후 수식 파트는 김기현 강사님의 딥러닝을.. 2021. 5. 12.