[Pytorch-기초강의] 순차적인 데이터를 처리하는 RNN
·
AI Research/Deep Learning
▶ RNN 개요 ● "I live to eat"과 "I eat to live"는 모두 같은 단어로 이루어져 있으나 뜻은 완전 다릅니다. 이전 게시물들에서 배운 단어의 feature만 잡아내는 일반적인 신경망들로는 이 변화를 인식하기가 힘듭니다. RNN은 이처럼 데이터의 순서가 주는 정보까지 인지해내기 위해 등장한 신경망입니다. ● 이전에 포스팅했던 CNN은 시간의 개념이 없는 정적인 데이터만을 다룹니다. 하지만 실세계에 존재하는 것들은 모두 연속적, 순차적(sequential)으로 일어납니다. 이러한 데이터를 "시계열 데이터(time series data)"라고 합니다. ● RNN이 내는 출력은 순차적인 데이터의 흐름을 모두 내포합니다. RNN의 구조는 아래와 같습니다. 그림에서 X는 입력을, h는 은닉..
[Pytorch-기초강의] 사람의 지도 없이 학습하는 오토인코더
·
AI Research/Deep Learning
▶ 오토인코더 기초 ● 오토인코더(Auto-Encoder)란? 레이블 없이 feature를 추출하는 신경망을 말합니다. 지금까지의 신경망들은 입력값에 정답이 포함된 supervised learning(지도학습)이었습니다. 이번 챕터에서 소개하는 오토인코더는 입력값만으로 학습하는 unsupervised learning(비지도학습)신경망입니다. - 특징1: 비지도학습에선 정답이 없기 때문에 오찻값을 구하기가 모호합니다 => ‘정답이 있으면 오차값을 구할 수 있다’ 는 생각에서 출발하여 x를 입력받아 x를 예측하고, 신경망에 의미 있는 정보가 쌓이도록 설계된 신경망이 바로 오토인코더입니다. (입력된 x를 복원한다는 의미로 생각하면 됩니다.) 따라서, 오차값에도 x를 얼마나 복원했는지를 의미하는 복원오차 또는 ..
[Pytorch-기초강의] 이미지 처리 능력이 탁월한 CNN(Deep CNN)
·
AI Research/Deep Learning
이번 게시물에서는 다수의 CNN 계층으로 이루어진 유명한 모델들에 대해 설명하겠습니다. 살펴볼 CNN 모델들은, - AlexNet - VGG - GoogleNet - ResNet 이렇게 총 4가지 입니다. ​ ​ ▶ Deep CNN ●Deep CNN 이란? 대규모 벤치마크 데이터셋에 적용하기 위한 깊은 CNN 구조를 말합니다. ● Image Classfication의 경우를 보면 신경망을 깊이 쌓을 수록 분류 정확도가 높아지는 것을 알 수 있습니다. 신경망을 깊게 할수록 좋은 이유는 문제를 더 작은 단위로 분해하여 학습 효율이 좋아지기 때문입니다. ● 그러나, 무작정 인공 신경망을 여러 개 쌓는다고 학습 성능이 무한히 좋아지는 것은 아닙니다. 그 이유는 여러 단계의 신경망을 거치며 최초 입력 이미지에 대..
[Pytorch-기초강의] 이미지 처리 능력이 탁월한 CNN(CNN의 기초)
·
AI Research/Deep Learning
▶합성곱 신경망(CNN)에 대해 배우기전에 기초 개념들에 대해서 복습해보도록 하겠습니다! ● 학습이란? 신경망에서 가중치를 적절하게 조정하는 것을 말합니다. => 다시 말해, 모델이 정확한 output을 낼 수 있도록 적절한 가중치로 갱신하는 것입니다. ● 계층(layer)이란? - 네트워크의 구성 요소를 말합니다. - 특정 단위 작업을 수행 -> 함께 처리되는 뉴런들의 집합. (FC Layer, Conv Layer 등) -> 뉴런 없이 특정 기능을 수행하는 함수. (Pooling Layer 등) : 이번 게시물에서 설명하도록 하겠습니다. -> 경우에 따라 Activation Function도 하나의 Layer로 취급됨(개발 시에, 이들을 하나의 레이어처럼 사용하기 때문)​ ​ ● 네트워크(network..