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

AI-driven Methodology/ANN21

[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.
[ANN] Neural Networks Neural Networks Feedforward / Recurrent Neural Networks 신경망의 가장 기본적인 architecture는 fully-connected Feedforward Neural Network (FNN)이라고 할 수 있다. Feedforward는 neuron이 동일하거나 이전 layer에 연결을 제공하지 않고 단순히 출력을 다음 layer로 전달한다는 의미이다. fully-connected은 layer의 각 neuron이 이전 layer의 모든 neuron에서 들어오는 연결을 가지고 있음을 의미한다. 여기서, 주목할 것은 다른 유형의 신경망 또는 신경망 architecture가 많이 있다. 이것은 모두 동일한 neuron, 가중 연결 및 Activation Function.. 2021. 12. 10.
[ANN] CNN (Convolutional Neural Network) CNN (Convolutional Neural Network) CNN은 convolution과 pooling, dense (또는 fully connected)라는 세 가지의 layer을 통해 만들어진다. Convolution layer 0이 검은색, 1이 흰색으로 구성된 0과 1 흑백 5X5 pixel 사진이 있다. 다음으로 임의의 0과 1로 채워진 3X3 행렬이 있다. 이 행렬은 이미지의 하위 집합과 행렬곱을 할 수 있다. 이 곱은 3X3 행렬이 모든 pixel을 반복해서 이동함에 따라 새로운 행렬에 기록된다. ◦ DNN에 비해 파라미터 개수가 현저히 적다. DNN보다 overfitting 문제를 덜 발생시킨다. ◦ filter 함수를 사용해 이미지에서 부분적인 feature를 추출한다. 이때 filt.. 2021. 12. 10.
[ANN] 퍼셉트론 (Perceptron) 사람의 뉴런 두뇌의 가장 작은 정보처리 단위이다. 세포체 (cell body)는 간단한 연산하며 수상돌기 (dendrite)는 신호 수신, 축삭 (axon)은 처리 결과를 전송한다. 사람은 1011개 정도의 뉴런을 가지며, 뉴런은 1000개 가량 다른 뉴런과 연결되어 있어 1014개 정도 연결되어 있다. 컴퓨터 인간의 두뇌 처리 소자의 개수 10^8개의 트랜지스터 10^10개의 뉴런 처리 소자의 속도 10^12Hz 10^2Hz 학습 기능 없음 있음 계산 형태 중앙 집중식, 순차적 처리 분산 병렬 처리 뉴런의 기본 동작 신호를 받아들이고, 이 신호가 축삭 돌기를 지나 축삭 말단으로 전달한다. 축삭 돌기를 지나는 동안 신호가 약해지거나, 너무 약해서 축삭 말단까지 전달되지 않거 나 혹은 강하게 전달되기도 한.. 2021. 12. 10.
[ANN] SNN (Spiking Neural Networks) SNN (Spiking Neural Networks) SNN (Spiking Neural Networks)은 뇌과학에서 밝혀진 생물학적인 뇌의 뉴런이 출력을 결정하는 메커니즘을 모방하고 기존 신경망의 차이를 좁히는 것을 목표하고 있다. SNN은 기존의 신경망과 근본적으로 다른 구조를 가지고 있는데, 모두가 서로 연결되어 있는 구조가 아닌, 듬성듬성 연결된 extraordinary network topology를 이루고 있다. 이는 생물학적으로 뇌와 비슷한 구조를 지니고 있다는 것을 알 수 있다. SNN은 특정 시점에 발생하는 discrete spike를 통해서 동작한다. spike의 발생 여부는 다양한 생물학적인 프로세스를 나타내는 미분방정식에 의해서 결정된다. 여기서 membrane potential은.. 2021. 12. 10.
728x90
반응형
LIST