인공지능(13)
-
[인공지능 기초] 6. ANN(Artificial Neural Network)
지난 번에 Perceptron을 배우고, 그 한계점을 알아보았다. 단층 퍼셉트론은 표현력에 있어서 선형으로 분류가 힘든 문제를 풀지 못하는 한계가 있었다. 끝! 인공지능 bye~ 가 아니고!! ㅎㅎ..한 층이 안된다면 여러 층을 쌓으면 되지 않을까? 종이 하나로는 맞아도 안 아프지만 백과사전으로 맞으면 아픈 것처럼 말이다! 1. MLP(Multi Layer Perceptron) 그게 바로 Multi Layer Perceptron이다. 말 그대로 layer를 1개가 아닌 여러 개를 쌓음으로써 비선형적인 공간으로 문제를 매핑시키는 것이다. 예전 수업 중에 더 직관적인 설명이 있었는데, 레이어의 수가 증가할 수록 기준선이 증가(분류를 하는 잣대의 개수)하고, 유닛의 수가 증가할 수록 그 안에서의 디테일이 더해..
2021.10.10 -
[인공지능 기초] 5. 퍼셉트론
인공지능이란 어디서부터 시작된 것일까? 한번 상상해보자! 사람같이 사고를 하는 기계를 만드려면 제일 먼저 떠오르는 부분은 무엇인가? 눈, 코, 입? 장기? 대부분의 사람들은 그것이 "뇌"라는 것을 바로 알아차릴 것이다. 이렇듯 초기 인공지능 붐을 불러왔던 학자들도 이 "뇌"와 "기계"를 연관지으려고 노력했고, 그 과정에서 최초의 인공지능 "퍼셉트론"이 등장하였다. 1. 퍼셉트론(Perceptron) 퍼셉트론이란, 인공 신경망의 초기 형태로 다수의 입력(X)으로부터 하나 또는 여러 신호(Y)를 출력하는 알고리즘이다. 이 개념은 인간의 뇌가 정보처리 하는 과정을 모방하여 만들어졌다. 퍼셉트론은 입력 노드(X)에서 출력 노드(Y)로 보내질 때, 각 입력도느 값들($x_1, x_2, \dots, x_n$ in ..
2021.07.06 -
[분류모델] ResNet
이번에는 기본 CNN에서 조금 구조적으로 진화된 Network를 살펴보려고한다. 지난번 VGGNet같은 경우, 단순 CNN에 3x3필터를 이용하였는데 ResNet은 Residual이라는 조금 새로운 모델 구조를 선보였다. 지금까지도 여러 모델에 Residual이라는 개념이 사용될 정도이니, 이러한 아이디어를 고안한 것이 딥러닝에 얼마나 큰 기여를 하였는지 이해할 수 있을 것이다. 1. ResNet의 배경 ResNet은 Kaiming He라는 연구자에 의해 개발되었다(실질적으로는 그 연구팀). 딥러닝을 배우다보면 layer를 깊게 만드는 것이 성능을 높여주는 방법이라고 들은 적이 있을 것이다. 원래 과거에는 하드웨어의 한계로 인해 이 layer를 너무 깊게 쌓는 것이 불가능 하였는데, 20세기에 들어서면서..
2021.06.28 -
[분류모델] VGGNET
제목은 분류모델로 써놓았지만 이 카테고리에 쓸 모델들은 Object Detection, Segmentation 등 등 다른 Task의 기반이 되는 backbone 역할을 해준다고 보면 된다. 이러한 backbone 모델의 성능에 따라 딥러닝의 성능은 천차만별로 달라지게 된다. 제일 처음 알아볼 모델은 VGGNET이다. 딥러닝을 처음 배우는 사람들이라도 많이 들어보았을 정도로 CNN모델의 기초가 되는 모델이다. VGGNet은 2014년도 ILSVRC에서 처음 등장하였다. 아쉽게 GoogleNet에게 1등 자리를 빼았겼지만 유명세와 인용 측면에서는 VGGNet이 우세하였는데, 그 이유는 모델의 복잡성 때문이다. Inception(GoogleNet) 모델을 살펴보면 알겠지만 구조가 매우 복잡하고, 난해하다. ..
2021.06.24 -
[인공지능 기초] 4. 신경망 학습
이번에는 신경망을 학습할 때 알아두어야할 핵심 요소들을 설명하겠다. 신경망 학습은 이전에 말했던 것처럼 loss 값이 작아지도록 가중치를 최적화하는 것을 말한다. 그렇다면 이제 어떻게 가중치를 최적화 하는지를 알아야한다. 이 가중치를 최적화 하는 모듈을 Optimizer라 하며, 머신러닝, 딥러닝이 발전하기 시작한 때부터 많이 발전해오면서 종류가 매우 다양하다. 이 글에서는 그 종류에 대해서는 다루지 않고, 핵심인 Gradient Descent Algorithm에 대해 얘기하도록 하겠다. 1. Gradient Descent Algorithm 이전에 Cost함수에 대해 짧게 이야기한 적이 있다. 보통 Convex함수가 사용되고, 이 함수의 값인 loss가 작아지도록 가중치(W, b)를 갱신해 나가는 것이 ..
2021.05.25