일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Regression
- OS
- GIT
- instaloader
- 운영체제
- C++
- Heap
- Stack
- 재귀
- 데이터베이스
- machine learning
- 국민대학교
- 국민대
- db
- googleapiclient
- 스택
- 프로그래머스
- 회귀
- 파이썬
- python3
- Seq2Seq
- gan
- SQL
- PANDAS
- 머신 러닝
- Python
- 정렬
- kmu
- LSTM
- programmers
- Today
- Total
목록[TIL]국민대X프로그래머스 여름방학 인공지능 과정 (24)
정리 노트

Seq2Seq with Attention 디코더는 인코더의 모든 출력을 참고합니다. 인코더에서 나온 hidden state 값들을 모두 출력 값으로 별도의 배열 같은 곳에 기록합니다. 디코더에서 매번 hidden state를 갱신할 때 바로 이전의 hidden state값과 인코더의 hidden state값들과 각각 행렬 곱을 수행해서 'energy'라는 값을 생성합니다. 'energy'는 현재 어떤 단어를 출력하기 위해서 source 문장의 어느 단어에 집중해야 하는지 수치화해 표현한 값입니다. energy값에 softmax를 취해 확률 값을 구하고 가중치를 반영해서 가중치 값을 hidden state에 곱한 것을 각각의 비율의 맞게 더해준 weighted sum 벡터를 매번 반영합니다. Transfo..
Attention query와 비슷한 값을 가진 key를 찾아 value를 얻는 과정입니다. 여기서 key, value는 encoder의 각 time-step 별 출력(각 source language의 단어 또는 문장)을 의미하고 query는 현재 time-step의 decoder 출력(target language로 번역된 단어 또는 문장)을 의미합니다. 참고: https://hazel01.tistory.com/45 Attention 아키텍처 하나의 Attention은 전체 토큰에 대한 출력을 입력으로 받는 FC의 파라미터를 공유해 사용합니다. 전체 encoder의 출력 + 현재 decoder의 hidden이 decoder의 hidden으로 되고 이게 실제 Attention의 값입니다. import to..

이미지 캡션 생성 이미지를 설명하는 문장을 생성하는 기술 분야로 대표적으로 NIC(Neural Image Caption) 모델을 사용합니다. NIC(Neural Image Caption) 간단히 얘기하면 CNN을 이용해 이미지 특징을 추출한 뒤 RNN을 거쳐 문장을 생성하는 것을 말합니다. 이미지 캡션 생성 문제를 이미지를 번역하는 문제라 볼 수 있습니다. 입력을 이미지(I), 출력을 목표 문장(S = {S1, S2, ..., Sn})이라 하면 가능도(likelihood) P(S | I)를 최대화하는 문제로 정의할 수 있습니다. 이미지 캡션 생성에서는 Encoder가 CNN Encoder를 사용해 CNN 절차를 거치게 만듭니다. 공식
언어 모델 문장(시퀀스)에 확률을 부여하는 모델로 특정 상황에서의 적절한 문장이나 단어를 예측할 수 있습니다. ex) P(난 널 사랑해 | I love you) > P(난 널 싫어해 | I love you) P(먹었다 | 나는 밥을) > P(싸웠다 | 나는 밥을) 하나의 문장(W)은 여러 단어들(w)로 구성된다. P(W) = P(w1, w2, w3, ..., wn) (n은 자연수) 그래서 이를 결합 확률로 표현할 수 있고 연쇄 법칙을 적용할 수 있습니다. 연쇄 법칙 P(w1, w2, w3, ..., wn) = P(w1) * P(w2 | w1) * P(w3 | w1, w2), ..., P(wn | w1, w2, ..., w(n-1)) (n은 자연수) ex) P(친구와 친하게 지낸다) = P(친구와, 친하게..

LSTM(Long Short-Term Memory) 아키텍처 RNN 아키텍처를 사용하면 토큰 사이의 거리가 먼 경우에 연속적인 정보가 잘 전달되지 않을 수 있습니다. LSTM은 RNN과 달리 두 개의 상태 정보를 저장하고 처리합니다. 두 상태 정보를 각각 장기 기억(Cell State), 단기 기억(Hidden State)이라 부릅니다. LSTM에서는 여러 게이트들이 있습니다. Forget Gate: 어떤 정보를 잊게 만들지 결정하는 레이어로 오래된 정보 중 필요 없는 정보는 잊게 됩니다. Input Gate: 새 정보를 장기 기억에 반영하는 역할로 새롭게 특정 정보를 기억하게 만듭니다. Cell State는 Forget Gate와 Input Gate에 의해 갱신됩니다. Output Gate는 Cell ..
RNN(Recurrent Neural Network) 이전 상태를 저장하기 위해 순환적인 구조로 동작하고 하나의 RNN 파라미터를 반복적으로 호출합니다. RNN은 다양한 아키텍처를 가지고 있습니다. one-to-one 아키텍처는 주로 이미지 분류 문제에 사용되고, one-to-many 아키텍처는 이미지 캡션 생성, many-to-one 아키텍처는 분류, many-to-many 아키텍처는 기계 번역 등에 사용됩니다.

순차 데이터(자연어)의 표현 법 저번에 봤던 CNN, GAN 같은 경우에 이미지를 벡터로 변환해서 학습이 이루어졌습니다. 자연어를 다룰 때에도 똑같습니다. 자연어를 벡터로 변환시킵니다. 벡터는 벡터끼리 연산이 가능합니다. 이 특징을 바꿔서 말하자면 자연어와 자연어 사이의 연산이 가능하게 된다는 것입니다. 1. One-hot 인코딩 단어를 수치적으로 표현하는 가장 기본적인 방법입니다. 예를 들어 가지고 있는 전체 단어 목록이 아래와 같다고 합시다. 대한민국 독립 만세 일제 광복절 스마트폰 애국 이때 "광복절"이라는 단어는 다음과 같은 벡터로 표현이 가능해집니다. 대한민국 독립 만세 일제 광복절 스마트폰 애국 0 0 0 0 1 0 0 => [0, 0, 0, 0, 1, 0, 0] 지금 같은 상황이면, 단어 하..

DCGAN CNN처럼 Convolutional Layer를 이용하는 GAN입니다. 판별자에서의 Convolution은 너비와 높이가 감소(=해상도가 감소)되고, 생성자에서의 Convolution은 너비와 높이가 증가(=해상도가 증가)하는 방향으로 진행됩니다. 이를 포함해 논문에서는 DCGAN 가이드라인을 제안하고 있습니다. batchnorm을 사용해서 학습 속도를 증가시킬 수 있고, fully connected hidden layer들을 제거함으로써 많은 weight들을 담을 메모리를 아낄 수 있다고 합니다.