딥러닝 이란?
·
딥러닝 (Deep Learning)/[01] - 딥러닝 이란?
1. 학문적인 딥러닝학문적으로 접근 했을 때, 딥러닝은 위의 이미지와 같이AI 학문이라는 안에 DL 이 속해 있는 파트 입니다. AI(Artifical intelligence)과거 1950년대에 AI(인공지능) 라는 학문이 생겼고,인간의 지능을 갖고 있으며 기능을 갖푼 컴퓨터 시스쳅이며, 인간의 지능을 기계 등에 인공적으로 구현 한 것이라고 말 할 수 있습니다. ML(Machine Learning)그러면 ML 은 무엇인가?1980년대는 데이터가 많아지며 데이터 기반으로 학습을 해보자는 움직임을 통해서 만들어진 파트 입니다.많은 데이터를 분석하고 가공하여 새로운 정보를 얻어서 어떠한 값을 예측하는 기술 혹은 학문이라고 할 수 있습니다.예를 들어 행렬로 미지수를 찾는것, if문으로 가장 오차를 적은 수를 찾..
순환 신경망 (RNN) 이란? - BPTT [3편]
·
딥러닝 (Deep Learning)/[05] - 논문 리뷰
BPTT (Back Propagation Through Time) - 시간 펼침 역전파RNN에서는 기존의 역전파 학습법으로 학습 할 수 없습니다.왜냐하면 기존에는 n 번째 타임스텝이라는 것이 존재하지 않았고,타임스텝이 생기면서 수많은 파라미터가 생겼기 때문 입니다.  데이터셋 구조 위의 그림 처럼 3가지 경우가 있습니다.다중 입력 - 단일 출력, 단일 입력 - 다중 출력, 다중 입력 - 다중 출력다중 입력 - 단일 출력순방향 추론시에는, 입력을 순차적으로 입력하여 마지막 입력시의 출력을 사용합니다.출력은 어디서 출력을 내줘야할지 모르기 때문에,마지막 출력에서는 End of Sequence (EOS) 라는 특별한 토큰을 날려주는 경우도 있습니다.  BPTT일반 역전파와 동일하게, 미리 시간적으로 펼쳐 둔 ..
순환 신경망 (RNN) 이란? [2편]
·
딥러닝 (Deep Learning)/[05] - 논문 리뷰
기본적인 순환신경망인 Vanilla RNN에 대해서 1편에서 설명 했습니다.하지만 현재는 Vanilla RNN 이 사용되고 있지 않습니다.어떠한 이유때문에 사용되고 있지 않는지, 그리고 더 발전된 RNN에 대해서 설명하도록 하겠습니다. 1. Vanilla RNN 문제점 잘 쓰이지 않는 가장 큰 이유는 기울기 손실 문제가 있습니다. 위의 그림에서 x0 가 입력이고 출력이 ht+1 이라고 할때, ht+1 에서 출발해서 쭉 x0 에 있는 정보를 가지고 와야 합니다.그렇게 하기 위해서 사이사이의 Gradient(기울기)가 다 만들어져야 하며, 역전파가 이루어질때 점점 기울기가 손실이 되는 문제가 있습니다.따라서, 시점차이가 많이 날 경우 학습능력이 굉장히 저하가 됩니다.그래서 현재는 RNN 기반의 변형 알고리즘..
순환 신경망 (RNN) 이란? [1편]
·
딥러닝 (Deep Learning)/[05] - 논문 리뷰
1. 순차데이터 종류순환신경망(RNN)을 이해하기 앞서,순차 데이터가 무엇인지 알아볼 필요가 있습니다.순서가 의미가 있는 데이터를 말하며,순서가 달라질 경우 의미가 손상되는 데이터를 순차데이터라고 합니다.위의 사진에 예시를 보면, 3가지로 나뉘어 질 수 있습니다. 연속적 데이터(Sequential Data)순서가 의미가 있지만, 시간의 이미가 없는 것 시간적 의미(Temporal Sequence)시간적 의미가 있고, x축 시간에 따른 y축 변화가 있을때를 말합니다. 일정한 시간차(Time Series)x축을 시간으로 보지 않고, 1 step 으로 표현으로하면 step 마다 변화를 나타날때를 말합니다.2. 심층 신경망과 순차 데이터 입력이 만약 음파로 들어온다면?? Input Layer보통 음파가 초당 4..
Alex-net 이란?
·
딥러닝 (Deep Learning)/[03] - 모델
1. AlexNet 이란?AlexNet은 인공지능의 ILSVRC에서 2012년에 당시 오차율 16.4%로 다른 모델 보다 압도적으로 우승한 모델입니다. 현재 시점에서 수치를 보면 그렇게 좋은 정확도가 아니지만, 대회 당시에는 굉장한 정확도였다고 합니다. 2011년에 우승했던 모델의 오차율이 25.8%였으니, 오차율 성능이 40% 만큼 좋아졌습니다. AlexNet의 'Alex'는 모델 논문의 저자인 Alex Khrizevsky의 이름 입니다. 2.  AlexNet 구조   AlexNet은 위의 그림과 같은 구조 입니다.순서대로 나열하면 아래와 같습니다. Input layerConv1 - MaxPool1 - Norm1Conv2 - MaxPool2 - Norm2Conv3 - Conv4 - Conv5 - Max..
CNN 이란? (LeNet - 5)
·
딥러닝 (Deep Learning)/[05] - 논문 리뷰
1. CNN(Convolutional Neural Networks) 개념컨볼루션 신경망(CNN)은 어떤 이미지를 CNN에 입력시켜주면, 그 이미지가 개인지 고양이인지 분류해내는 목적으로 사용되어왔습니다.  기존 신경망의 경우 이미지 픽셀값들을 그대로 입력받아서 어떤 클래스에 속하는지 분류했습니다. 하지만 같은 고양이 이미지라도 살짝 회전되어 있거나, 크기가 다르거나, 변형이 조금만 생겨도 분류하는데 어려움이 있었으며, 그런 경우에 대한 훈련데이터가 모두 필요했고, 그만큼 훈련시간도 상당히 길어진다는 단점이 있었습니다.  그래서 이미지 픽셀값들을 그대로 입력받는 것보다는 이미지를 대표할 수 있는 특성들을 도출해서 신경망에 넣어주는 것이 선호되었습니다. CNN은 입력된 이미지로부터 이미지의 고유한 특징을 부..
딥러닝은 학습을 어떻게 할까?
·
딥러닝 (Deep Learning)/[01] - 딥러닝 이란?
1. 최적의 weight를 찾는다아래 그림 처럼인공신경망은 output 값을 얻기 위해서 weights 랜덤한 값을 계속 넣으면서 값을 찾습니다.2. Neural Network 가 정답을 잘 찾고 있을까?인공신경망이 얼마나 잘 하는지 혹은 얼마나 못하는지 척도가 필요합니다.보통 인공신경망에서 얼마나 못하는지 알기위해 척도를 이용 합니다. 흔히 사용하는 것이 Loss function / Cost function 이며,많이 쓰는 방법은 인공신경망의 출력과 실제 정답과의 차이를 활용 합니다. 예시)A, B 광고료에 따른 판매량을 측정하는 모델을 개발하고 있다고 할때,예측 판매량 (100, 80)실제 판매량 (105, 78) Loss = (105 - 100)² + (78 - 80)² = 29제곱을 하는 이유는 ..
인공신경망 - ANN (Artifical Neural Network) 그리고 딥러닝 이란?
·
딥러닝 (Deep Learning)/[01] - 딥러닝 이란?
1. 인공신경망의 이해 인공신경망의 용어 중에 input data, label, weight 라는 단어를 많이 접하게 됩니다.input data 는 (3, 2), (1, 4), (5, 5), (8, 3) 우리가 수집한 데이터를 기계에 넣어주는 것이라고 이해하면 됩니다.label 은 1, -3, 0, 5 정답을 알려주는 데이터 이고,weight 는 기계가 스스로 학습을 통해 찾아내도록 하는 값인데, 여기서는 □, △ 를 가리키는 것 입니다.즉, 인공신경망을 통해서 우리가 찾고자 하는 것인 weight 혹은 파라미터라고 부르기도 합니다. 기계는 어떻게 값을 찾을 수 있을까?기계는 랜덤하게 정답을 찾을때까지 숫자를 넣어서 답에 가깝도록 찾습니다.예를 들어 0.5, 0.5 넣어서 정답과 차이를 보고 차이를 반복..