본문 바로가기
728x90
반응형
SMALL

ANN15

뉴런과 층 (Neurons and Layers) Neurons and Layers 대부분의 신경망 구조는 어떤 유형의 뉴런을 사용한다. 많은 다른 신경망이 존재하고 프로그래머들은 실험적인 신경망 구조를 도입한다. 결과적으로 모든 신경망 아키텍처를 포함할 수는 없다. 그러나 신경망 구현 사이에는 몇 가지 공통점이 있다. 신경망 알고리즘은 일반적으로 이러한 단위를 뉴런이라고 부를 수도 있고 아닐 수도 있지만 개별적으로 상호 연결된 단위로 구성된다. 신경망 처리 장치에 대한 이름은 문헌 소스에 따라 다르다. 노드, 뉴런 또는 단위라고 할 수 있다. 인공 뉴런은 다른 뉴런일 수 있는 하나 이상의 소스로부터 입력을 받거나 컴퓨터 프로그램으로부터 네트워크에 입력된 데이터를 수신한다. 이 입력은 일반적으로 부동 소수점 또는 이진수이다. 종종 이진 입력은 true .. 2023. 7. 28.
[ANN] GRU으로 삼성전자 주가 예측 GRU으로 삼성전자 주가 예측 yahoo finance에서 데이터 다운로드 후 3일 (3MA), 5일 (5MA) 가격이평선 추가한다. import tensorflow as tf import numpy as np import pandas as pd import matplotlib.pyplot as plt from tensorflow.keras.models import Sequential from tensorflow.keras.layers import GRU, Dense, Dropout # yahoo finance로부터 데이터 다운로드 raw_df = pd.read_csv('./000000.KS_3MA_5MA.csv') raw_df.head() plt.title('SAMSUNG ELECTRONIC STCOK.. 2022. 10. 21.
[ANN] LSTM으로 삼성전자 주가 예측 LSTM으로 삼성전자 주가 예측 yahoo finance에서 데이터 다운로드 후 3일 (3MA), 5일 (5MA) 가격이평선 추가한다. import tensorflow as tf import numpy as np import pandas as pd import matplotlib.pyplot as plt from tensorflow.keras.models import Sequential from tensorflow.keras.layers import LSTM, Dense, Dropout # yahoo finance로부터 데이터 다운로드 raw_df = pd.read_csv('./000000.KS_3MA_5MA.csv') raw_df.head() plt.title('SAMSUNG ELECTRONIC STC.. 2022. 10. 21.
[ANN] SimpleRNN (2) 데이터 전처리 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt from tensorflow.keras.layers import SimpleRNN, LSTM, Dense from tensorflow.keras import Sequential # data 생성 x = np.arange(0, 100, 0.1) y = 0.5*np.sin(2*x) - np.cos(x/2.0) seq_data = y.reshape(-1,1) print(seq_data.shape) print(seq_data[:5]) (1000, 1) [[-1. ] [-0.89941559] [-0.80029499] [-0.70644984] [-0.62138853]].. 2022. 10. 21.
[ANN] RNN many to many many to many many-to-one 모델에서 출력을 생성하려면 최종 입력이 모델에 입력되어야 한다. 이와 달리 many-to-many 모델은 각 입력을 읽을 때마다 출력을 생성한다. 즉, many-to-many 모델은 입력 시퀀스에서 각 토큰의 기능을 이해할 수 있다. many-to-many는 개체명 인식 (Named Entity Recognition)이나 형태소 분석 (Morphological Analysis)과 같은 task에 사용된다. 이 모델에서 가능한 예는 품사 태깅, 줄여서 POS이다. POS는 유사한 문법적 특성을 가진 단어 (또는 어휘 항목)의 범주이다. 일반적인 POS 유형은 명사, 동사, 형용사, 부사, 대명사이다. 따라서 POS 태깅은 각 토큰의 POS에 자동으로 태깅된다. .. 2022. 1. 5.
[ANN] RNN many to one Sequence classification many to one 유형은 sequence of words를 sentiment로 분류하는 sentiment classification에 가장 많이 활용되고 있다. "이 영화는 좋다"라는 문장이 있다고 가정하고 이 문장의 감정을 분류하고자 한다. 이를 위해서는 단어 수준에서 토큰화를 적용해야 한다. 이 문장이 좋은 감정을 의도한다면, 단어 토큰은 "좋은"과 같은 좋은 단어를 포함할 수 있다. 그래서 우리는 이 문장을 좋은 감정으로 분류할 수 있다. 따라서 RNN 모델에 적용하려면 문장을 단어 시퀀스 (many)로 간주하고 label (work)을 분류해야 합니다. many-to-one 모델의 프로세스이다. 계산 모델은 단어 자체를 입력으로 받아들일 수 없으므로 .. 2022. 1. 5.
[ANN] RNN basics (Vanilla) ANN에서 sequence data는 어떻게 다룰 것인가? • We don’t understand one word only • We understand based on the previous words + this word. (time series) • NN/CNN cannot do this RNN 위를 cell이라고 표현하는데, cell의 아웃풋이 다시 cell에 영향을 주게 된다. 이것은 기존의 Neural Network과 다른점이다. 바닐라 (Vanilla) RNN은 가장 기본적인 RNN이다. 이전에 사용하던 NN와는 다르게 tanh를 사용한다. new state 값은, old state 값과 입력값을 처리하는 함수를 통해 출력된다. Ht는 state 값을 나타낸다. 현재 state 값에 대한 함수.. 2022. 1. 5.
[ANN] CNN in the image area Weight parameter 감소 DNN에 비해 CNN에서는 weight의 수가 현저하게 줄어들면서도 edge 정보 등 수많은 위치 정보들을 그대로 유지하면서 feature를 확보한다. DNN은 fully connected layer 구조이다. 이것은 이전의 모든 neuron들이 다음 각각 neuron들에 전부 연결되어 있다. 따라서 이미지가 학습 데이터로 입력되면 굉장히 많은 parameter (weight)가 발생한다. 결과적으로 각각의 weight의 최적화를 위해 학습이 굉장히 오래걸리게 된다. Weight sharing / Sparse connection DNN에서는 하나의 출력값에 각각 다른 가중치들이 사용되고 있다. 반면, CNN은 하나의 출력값에 같은 가중치들이 사용되고 있다. 다시말해, .. 2021. 12. 29.
[ANN] 순환 신경망 (Recurrent Neural Network, RNN) (2) 매개변수 순환 신경망의 매개변수 (가중치 집합)는 Θ = 𝐔𝐔,𝐖𝐖, 𝐕𝐕, 𝐛𝐛, 𝐜𝐜 이다. 𝐔𝐔 : 입력층과 은닉층을 연결하는 p*d 행렬 𝐖𝐖 : 은닉층과 은닉층을 연결하는 p*p 행렬 𝐕𝐕 : 은닉층과 출력층을 연결하는 q*p 행렬 𝐛𝐛, 𝐜𝐜 : 바이어스로서 각각 p*1과 q*1 행렬 RNN 학습이란 훈련 집합을 최적의 성능으로 예측하는 Θ 값을 찾는 일을 말한다. 가중치 𝐮𝐮𝑗𝑗 = 𝑢𝑢𝑗𝑗1, 𝑢𝑢𝑗𝑗2, ⋯ , 𝑢𝑢𝑗𝑗𝑑𝑑 는 𝐔𝐔 행렬의 j번째 행 (ℎ𝑗𝑗에 연결된 에지의 가중치들) Vanishing Gradient Problem RNN 역시 경사하강법과 오류 역전파 (backpropagation)를 이용해 학습한다. 학습 데이터의 길이가 길어질수록 먼 과거의 정보를 현재에 전달하기 힘.. 2021. 12. 14.
[ANN] 순환 신경망 (Recurrent Neural Network, RNN) (1) 순환 신경망 (Recurrent Neural Network, RNN) RNN은 hidden node가 방향을 가진 edge로 연결돼 순환구조 (directed cycle)를 이루는 인공신경망의 한 종류이다. 입력과 출력을 시퀀스 단위로 처리하는 모델이다. 순환 신경망은 시계열 데이터 처리에 알맞게 변형된 딥러닝 구조이다. Sequence Data를 학습하여 Classification 또는 Prediction을 수행한다. 은닉 계층 안에 하나 이상의 순환 계층을 갖는다. 하나의 파라미터 쌍 (가중치와 편향)을 각 시간대 데이터 처리에 반복 사용한다. 시간대와 시간대 사이에 순환 벡터를 이용해 정보를 전달한다. 일정 시간 동안 모든 값이 계산되면, 모델을 학습하기 위해 결과값과 목표값의 차이를 loss fu.. 2021. 12. 14.
728x90
반응형
LIST