일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kubernetes
- API
- suricata
- LINUX MASTER
- 인터넷의이해
- Database
- cloud
- Powershell
- ICT멘토링
- Spring Boot
- Docker
- OSS
- rnn
- KAKAO
- GoogleDrive
- Spring
- VSCode
- git
- 국가과제
- C언어
- ChatGPT
- Resnet
- 고등학생 대상
- colab
- Rocky Linux
- 코딩도장
- Python
- 크롤링 개발
- Github
- Machine Learning
- Today
- Total
코딩두의 포트폴리오
순차데이터 처리하는 RNN 본문
RNN 개요
이전 신경망 문제점
기본 신경망, CNN - 정적인 데이터 인지
데이터 순서, 상호작용 인식, 시간 개념이 X
RNN (Recurrent Neural Network)
순서대로 나열된 가변 길이 데이터 학습 신경망
ex) 자연어, 동영상, 주가 등 동적 데이터
데이터 순서대로 입력 받을 때마다 지금까지 입력된 벡터들 종합 -> 은닉벡터 생성
응용 RNN
LSTM, GRU
활용 분야
언어 모델링, 텍스트 감정분석, 기계 번역 등
RNN 응용 신경망의 예
입력과 출력의 수에 따라 N:N?으로 구분
4 - 입력이 들어오면 순차적으로 데이터 출력
5 - 입력 들어옴과 동시에 출력
일대다
자동화 구축 이미지 캡션 app
다대일
RNN -> 영화 리뷰 감성 분석
이진분류 문제 - 영화 리뷰 주어졌을 시, 양성(긍정)인지 음성(부정)인지 분류
IMDb Web에서 수집한 영화 리뷰 데이터 집합 - 리뷰 텍스트 + 레이블(양성 or 음성)
입력이 들어옴과 동시에 처리하는 모
Softmax function
y가 출력 (2.0, 1.0, 0.1)
합이 1로 되게끔 함수 사용하여 비중을 수정
One-hot Encoding
Feed Forward Neural Network
첫 번째 계층이 입력으로 주어지면 가중치가 곱해져서 다음 링크로 전달
같은 방식으로 마지막으로 데이터 전달
Q. 신경망을 행렬과 벡터 연산으로 이해할 수 있다면, 신경망을 이해하기가 매우 용이하다.
다음 신경망의 파라미터의 개수는?
워드 임베딩(Word Embedding)
CNN은 이미지 분류에 능숙
단어를 벡터화하는 기술 ->계산 가능, 신경망 모델 입력으로 사용
One-Hot Encoding(OHE)
단어의 종류를 미리 계산 후, 순서대로 인덱스로 부여
NNLM(Neural Network Language Model)
NNLM은 n개의 이전 단어들로부터 n+1 단어를 예측하는 모델
신경망의 입력은 원-핫 인코딩을 사용하여 얻은 원-핫 벡터로 한다.
Projection layer 이후, 하나의 Hidden layer를 거치고 Output layer에서
실제값인 다음 단어 원-핫 벡터로부터 loss를 구하고 학습된다.
이 과정에서 Projection layer의 embedding table이 학습된다.
단어-문서 행렬(Term-Document Matrix)
다수 문서에서 등장하는 각 단어들의 빈도를 행렬로 표현한 것
Word2Vec
단어 임베딩 모델 중 하나
비슷한 분포를 가진 단어들은 비슷한 의미를 가진다는 것을 이용
희소 벡터 vs 밀집 벡터
[실습]
07-순차적인 데이터를 처리하는_RNN/text_classification.ipynb
19 ~ 21 결과 이해, 참고
다층 형태의 RNN
Seq2Seq 기계 번역 - 다대다
RNN 기반의 번역 모델: Sequence to Sequence (Seq2Seq)
시퀀스를 입력받아 다른 시퀀스를 출력
학습데이터로 대규모의 병렬 말뭉치(원문-번역문) 필요
→ 강력한 GPU, 복잡한 텍스트 전처리, 긴 학습 시간 필요
Seq2Seq 기계 번역 모델
인코더(encoder)
원문의 내용을 학습하는 RNN
원문의 모든 단어를 입력받아 문장의 뜻을 내포하는 1개의 고정
크기 텐서를 생성 → 문맥 벡터(context vector)
디코더(decoder)
원문 문백 벡터로부터 번역문의 토큰을 순서대로 생성하는 RNN
28 ~ 29 실습
'Open Source Software' 카테고리의 다른 글
OSS - 15_ 이미지 처리 능력이 탁월한 CNN (0) | 2024.05.25 |
---|---|
OSS - 14_ ChatGPT & Transformers 라이브러리 활용 (0) | 2024.05.24 |
OSS - 13_ 패션 아이템을 구분하는 DNN (0) | 2024.05.16 |
OSS - 12_ 파이토치로 구현하는 ANN (0) | 2024.05.11 |
OSS - 11_ AI-NLP 개요 (0) | 2024.05.11 |