일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 클러스터링
- 성능 최적화
- COLAB
- 이미지 분류
- 전이학습
- 프로그래머스
- 원-핫 인코딩
- NLTK
- 합성곱층
- 코딩테스트
- 카운트 벡터
- 양방향 RNN
- 망각 게이트
- 텍스트 마이닝
- 시계열 분석
- 순환 신경망
- RNN
- 임베딩
- 합성곱 신경망
- 출력층
- 입력층
- 자연어 전처리
- 완전연결층
- 코랩
- 생성모델
- KONLPY
- 딥러닝
- cnn
- 풀링층
- 과적합
- Today
- Total
목록딥러닝_개념 (39)
Colab으로 하루에 하나씩 딥러닝

드롭아웃(Dropout) 훈련할 때 일정 비율의 뉴런만 사용하고, 나머지 뉴런에 해당하는 가중치는 업데이트하지 않는 방법 노드를 임의로 끄면서 학습하는 방법으로, 은닉층에 배치된 노드 중 일부를 임의로 끄면서 학습 훈련 시간이 길어지는 단점이 있지만, 모델 성능을 향상하기 위해 자주 사용됨 드롭아웃 실습 ### 라이브러리 호출 import tensorflow_datasets as tfds import tensorflow as tf ### 데이터셋 내려받기 (train_data, test_data), info = tfds.load( 'imdb_reviews/subwords8k', split=(tfds.Split.TRAIN, tfds.Split.TEST), with_info=True, as_supervise..

배치정규화(Batch Normalization) 데이터 분포가 안정되어 학습 속도를 높일 수 있음 기울기 소멸(gradient vanishing)이나 기울기 폭발(gradient exploding)의 문제를 내부 공변량 변화 조절을 통해 해결할 수 있음 기울기 소멸: 오차 정보를 역전파 시키는 과정에서 기울기가 급격히 0에 가까워져 학습이 되지 않는 현상 기울기 폭발: 학습 과정에서 기울기가 급격히 커지는 현상 해결 방법: 분산된 분포를 정규 분포로 만들기 위해 표준화와 유사한 방식을 미니 배치에 적용하여 평균은 0으로, 표준편차는 1로 유지하도록 함 활성화 함수보다 배치정규화를 통해 최적화를 하는 이유 배치 크기가 작을 때 활성화 함수를 거치면 정규화 값이 기존 값과 다른 방향으로 훈련됨 RNN은 네트..

양방향 RNN(Bidirectional RNN) RNN이전 시점의 데이터들을 참고해서 정답을 예측하지만, 실제 문제에서는 과거 시점이 아닌 미래 시점의 데이터에 힌트가 있는 경우도 있음 이후 시점의 데이터도 함께 활용하여 출력 값을 예측하고자 하는 것 양방향 RNN 구조 1. 메모리 셀 2개 첫 번째 메모리 셀은 이전 시점의 은닉 상태를 전달받아 현재의 은닉 상태를 계산 두 번째 메모리 셀은 다음 시점의 은닉 상태를 전달바아 현재의 은닉 상태를 계산 양방향 RNN 실습 ### IMDB 데이터셋 활용, 모델 생성 후 훈련 import numpy as np from tensorflow.keras.preprocessing import sequence from tensorflow.keras.models impo..

GRU(Gated Recurrent Unit) LSTM의 장점을 유지하면서 게이트 구조를 단순하게 만든 순환 신경망 LSTM에서 사용하는 망각 게이트와 입력 게이트를 하나로 합친 것, 별도의 업데이트 게이트로 구성됨 GRU 구조 1. 망각 게이트(Reset gate) 과거 정보를 적당히 초기화시키려는 목적으로 시그모이드 함수를 출력으로 이용하여 (0,1) 값을 이전 은닉층에 곱함 2. 업데이트 게이트(Update gate) 과거와 현재 정보의 최신화 비율을 결정하는 역할 시그모이드로 출력한 결과는 현시점의 정보량으로 결정하고 1에서 뺀 값은 직전 시점의 은닉층 정보와 곱함 3. 후보군(Candidate) 현시점의 정보에 대한 후보군을 계산 과거 은닉층의 정보를 그대로 이용하지 않고 망각 게이트의 결과를 ..

LSTM(Long short-term memory) RNN의 최적화하기 어렵도 성능적인 한계를 해결하기 위하여 사용 기울기 소실문제: RNN는 가중치가 업데이트되는 과정에서 1보다 작은 값이 계속 곱해지기 때문에 기울기 소실문제가 발생함 장기의존성: 순차열 길어질수록 오래전에 입력된 데이터의 정보가 사라지기 때문에 예측이 어려움 셀 상태와 은닉 상태로 장기 기억과 단기 기억을 모델링 LSTM 구조 1. 순전파 셀: 각 단계에 대한 은닉노드, 총합을 사용하여 기울기 소멸 문제를 해결 망각 게이트: 과거 정보를 어느 정도 기억할지 결정, 과거 정보를 시그모이드로 취하고 0이면 버리고, 1이면 온전하게 보전 입력 게이트: 현재 정보를 기억하기 위해 만듦, 시그모이드와 하이퍼볼릭 탄젠트 함수를 기반으로 현재 정..

### 라이브러리 호출 import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = "2" import tensorflow as tf import numpy as np from tensorflow import keras from tensorflow.keras import layers from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.optimizers import Adam ### 값 초기화 tf.random.set_seed(22) np.random.seed(22) assert tf.__version__.startswith('2.')# ..
순환 신경망(RNN, Recurrent Neural Network) 이전 은닉층이 현재 은닉층의 입력이 되면서 반복되는 순환 구조를 가짐 기존 네트워크와 달리 '기억(memory)'를 가지고 있어 최종적으로 남겨진 기억이 모든 입력 전체를 요약한 정보가 됨 기억: 현재까지 입력 데이터를 요약한 정보, 새로운 입력이 네트워크로 들어올 때마다 기억은 조금씩 수정됨 음성 인식, 단어 의미 판단 및 대화 등에 처리가 가능한 '자연어 처리'에서 주로 활용됨 순환 신경망 구조 1. 입력층 이전 은닉층 * 은닉층 → 은닉층 가중치 + 입력층 → 은닉층 가중치 * (현재) 입력 값 일반적으로 하이퍼볼릭 탄젠트 활성화 함수를 사용 2. 출력층 은닉층 → 출력층 가중치 * 현재 은닉층에 소프트맥스 함수 적용 3. 오차 각..
시계열 분석 시간에 따라 변하는 데이터를 사용하여 추이를 분석 추세를 파악하거나 향후 전망 등을 예측하기 위한 용도 ex) 주가/환율, 기온/습도 시계열 형태(The components of time series) 데이터 변동 유형에 따라 4가지로 나눔 1. 불규칙 변동(Irregular Variation) 어떤 규칙성이 없어 예측 불가능하고 우연적으로 발생하는 변동 예) 전쟁, 홍수, 화재, 지진, 파업 등 2. 추세 변동(Trend Variation) 장기적인 변화 추세를 의미 추세: 장기간에 걸쳐 지속적으로 증가/감소 하거나 또는 일정한 상태를 유지하는 성향 짧은 기간 동안에는 추세 변동을 찾기 어려움 예) 국내총생산(GDP), 인구증가율 3. 순환 변동(Cyclical Variation) 대체로 ..