본문 바로가기
반응형

전체 글44

[Recommendation System] 메타코드M "Kaggle 데이터를 활용한 개인화 추천시스템" (ML/DL) 이번 글은 메타코드 M의 "Kaggle 데이터를 활용한 개인화 추천시스템 100% 실습 강의 | 우아한 형제들, 현대카드 출신 Data Scientist 현직자 강의 " 강의에 대한 후기를 작성해보려고 합니다 ! 이 강의는 Python의 Numpy, Pandas, Matplotlib, Seaborn, Scikit-learn, Keras에 대해 선행지식을 가지고 있어야 하니 관심 있으신 분들은 따로 공부하시거나 메타코드에 다양한 강의가 있으니 먼저 수강하시는 것을 추천드립니다.1. 강의 수강 계기메타코드 M을 알게된 것은 2년전 쯤 우연히 유튜브 강의를 통해서 알게 되었고, 그 강의는 "머신러닝 강의 1,2,3강 - [국내 Top AI대학원 박사] " 였고, 유튜브에 장편으로 Machine Learning.. 2024. 12. 4.
[DL][NLP]Transformer 모델 1. 기존 Seq2Seq 모델의 한계기존의 Seq2Seq 모델은 Encoder-Decoder 구조로 구성되어있다. 여기서 Encoder는 Input Sequence를 하나의 벡터 표현으로 압축하고, Decoder는 이 벡터 표현을 통해 Output Sequence를 만들어내었다.        하지만 이러한 구조는 Encoder가 입력 시퀀스를 하나의 벡터로 압축하는 과정에서 입력 시퀀스의 정보가 일부 손실된다는 단점이 있었고, 이를 보정하기 위해 Attention이 사용되었다       그런데 Attention을 RNN의 보정을 위한 용도로서 사용하는 것이 아니라 Attention만으로 Encoder와 Decoder를 만들어보면 어떨까라는 Idea를 통해 Transformer가 탄생되었다.2. Trans.. 2024. 10. 29.
[DL][NLP] Transformer Encoder 동작 과정(Multi Head Self Attention, Position-wise Feed Forward Neural Network(FFNN)) 1. Encoder의 Self-AttentionSelf - Atention의 의미Attention Function은 주어진 "Query"에 대해서 모든 "Key"와의 유사도를 각각 구하고, 이 유사도를 가중치로 하여 Key와 Mapping 되어 있는 각각의 "Value"에 반영하는 합수이다. 그리고 유사도가 반영된 "Value"를 모두 가중합하여 Attention Value를 구한다. 앞서 Seq2Seq에서 Attention을 사용할 경우 Query, Key, Value는 아래와 같았다.   t 시점이라는 것은 계속 변화하면서 반복적으로 Query를 수행하므로 전체 시점에 대해서도 일반화할 수 있다   Q : t 시점의 Decoder Cell에서의 hidden State -> 모든 시점의 Decoder .. 2024. 10. 29.
[DL][NLP] Attention Mechanism(어텐션 메커니즘) 1. Attention Mechanism 등장 배경Seq2Seq 모델은 Encoder에서 Input Sequence를 Context Vector라는 하나의 고정된 크기의 벡터 표현으로 압축하고, Decoder는 이 Context Vector를 통해 Output Sequence를 만들어낸다.      하지만 이러한 RNN에 기반한 Seq2Seq 모델에는 크게 두 가지 문제가 있다.하나의 고정된 크기의 벡터에 모든 정보를 압축하려고 하니 정보 손실이 발생RNN의 고질적인 문제인 Vanishing Gradient 문제결국 기계 번역 분야에서 입력 문장이 길어지면 성능이 떨어지는 현상이 나타났고, 이를 위한 대안으로 Input Sequence가 길어지면 출력 Sequence의 정확도가 떨어지는 것을 보정해주기 .. 2024. 10. 28.
[DL][NLP] Seq2Seq 예제 (Pytorch) 이전 Seq2Seq 글을 보고오시면 좋습니다 ! [DL][NLP] Seq2Seq(Seqence to Sequence) 모델RNN에 대해 먼저 알고 보면 더 이해가 쉽습니다 !2024.08.26 - [DL/RNN] - [DL][RNN] RNN(Recurrent Neural Network, 순환 신경망) 구조 [DL][RNN] RNN(Recurrent Neural Network, 순환 신경망) 구조앞선 글에서 RNN에 대해 간략self-objectification.tistory.com 1. EncoderSeq2Seq의 Encoder에서는 Input Sequence의 모든 단어들을 순차적으로 입력받은 뒤 마지막에 이 모든 단어 정보를 압축하여 Context Vector(RNN의 마지막 Hidden State).. 2024. 10. 28.
[DL][NLP] Seq2Seq(Seqence to Sequence) 모델 RNN에 대해 먼저 알고 보면 더 이해가 쉽습니다 ! [DL][RNN] RNN(Recurrent Neural Network, 순환 신경망) 구조앞선 글에서 RNN에 대해 간략하게 알아보았습니다  [DL][RNN] RNN(Recurrent Neural Network, 순환 신경망) IntroduceRNN(Recurrent Neural Network, 순환 신경망) 이란?RNN이란 시간적으로 연속성이 있는 데이터를 처리self-objectification.tistory.com 1. 전통적인 RNN 기반의 기계 번역 발전 과정Seq2Seq 모델은 이후에 살펴보겠지만 Input Sequence를 고정된 크기의 Context Vector로 Encoding하여 Output sequence를 생성하는 방식이다. 하지.. 2024. 10. 28.
[DL][RNN] LSTM(Long Short - Term Memory) 구조 및 PyTorch 구현 LSTM(Long Short - Term Memory) 이란LSTM은 RNN 기법 중 하나로 Cell, Input Gate, Output Gate, Forget Gate를 이용해 기존 RNN의 문제인 기울기 소멸 문제(Vanishing Gradient)를 방지하도록 개발된 모델이다 RNN은 이전 단계의 출력을 다음 단계의 입력으로 사용하는 순환 구조로, Sequence 데이터에서 패턴을 학습하는 데 적합하다      하지만, RNN은 긴 시퀀스에서 초기 정보가 뒤로 갈수록 희미해지는 '장기 의존성 문제(Long-term dependency problem)'가 발생할 수 있다. 이는 RNN의 Gradient가 시간 경과에 따라 급격히 커지거나 작아지는 '기울기 소멸(vanishing gradient)'이나.. 2024. 8. 27.
[DL][RNN] RNN(Recurrent Neural Network, 순환 신경망) 구조 앞선 글에서 RNN에 대해 간략하게 알아보았습니다  [DL][RNN] RNN(Recurrent Neural Network, 순환 신경망) IntroduceRNN(Recurrent Neural Network, 순환 신경망) 이란?RNN이란 시간적으로 연속성이 있는 데이터를 처리하기 위해 고안된 인공신경망이다'Recurrent'는 이전 은닉층이 현재 은닉층의 입력이 되면서 '반복되는self-objectification.tistory.com 이번 글에서는 RNN Cell과 RNN Layer의 구조 및 수식에 대해 깊게 공부해보고 PyTorch를 통해 구현해보도록 하겠습니다RNN(Recurrent Neural Network, 순환 신경망) 구조RNN은 은닉층 노드들이 연결되어 이전 단계 정보를 은닉층 노드에 저.. 2024. 8. 26.
[DL][RNN] RNN(Recurrent Neural Network, 순환 신경망) Introduce RNN(Recurrent Neural Network, 순환 신경망) 이란?RNN이란 시간적으로 연속성이 있는 데이터를 처리하기 위해 고안된 인공신경망이다'Recurrent'는 이전 은닉층이 현재 은닉층의 입력이 되면서 '반복되는 순환 구로'를 갖는다는 의미이다RNN이 기존 네트워크와 다른 점은 기억(Memory)를 갖는다는 점이다여기서 기억이란 현재까지의 Input Data를 요약한 정보라고 생각하면 된다. 즉, 최종적으로 남겨진 기억은 모든 입력 전체를 요약한 정보라고 할 수 있다. 첫 번째 입력($x_1$)이 들어오면 첫 번째 기억($h_1$)이 만들어지고, 두 번째 입력($x_2$)이 들어오면 기존 기억($h_1$)과 새로운 입력을 참고하여 새 기억($h_2$)을 만든다     즉, 외부 입력과 자.. 2024. 8. 25.
반응형