분류 전체보기(83)
-
[인공지능 기초] 5. 퍼셉트론
인공지능이란 어디서부터 시작된 것일까? 한번 상상해보자! 사람같이 사고를 하는 기계를 만드려면 제일 먼저 떠오르는 부분은 무엇인가? 눈, 코, 입? 장기? 대부분의 사람들은 그것이 "뇌"라는 것을 바로 알아차릴 것이다. 이렇듯 초기 인공지능 붐을 불러왔던 학자들도 이 "뇌"와 "기계"를 연관지으려고 노력했고, 그 과정에서 최초의 인공지능 "퍼셉트론"이 등장하였다. 1. 퍼셉트론(Perceptron) 퍼셉트론이란, 인공 신경망의 초기 형태로 다수의 입력(X)으로부터 하나 또는 여러 신호(Y)를 출력하는 알고리즘이다. 이 개념은 인간의 뇌가 정보처리 하는 과정을 모방하여 만들어졌다. 퍼셉트론은 입력 노드(X)에서 출력 노드(Y)로 보내질 때, 각 입력도느 값들($x_1, x_2, \dots, x_n$ in ..
2021.07.06 -
[데이터 준비] Tiny-Imagenet
CIFAR-100은 모델들을 비교하는데 좋은 데이터셋이 아닌 것 같아서 Tiny-imagenet 데이터셋을 사용하려고 한다. 이미지 Shape는 64 x 64이며, 200개의 클래스를 가지고 있다. 이제 데이터셋을 준비해보자! 먼저 Tiny-ImageNet을 API를 통해 다운로드 하여야 한다. wget http://cs231n.stanford.edu/tiny-imagenet-200.zip wget 명령어를 써야하다보니, Ubuntu나 linux기반에서는 아주 손쉽게 다운로드가 진행되는데 윈도우에서는 뭔가 잘 안된다....PowerShell도 이용해보았지만 다운로드 실패... 결국 우분투 서버에서 다운로드 받고, 윈도우로 옮겼다...(서버가 없으신 분들은 가상환경을 이용하시길..) **혹시 윈도우에서 다..
2021.06.29 -
[Classification] ResNet 코딩
이번에는 ResNet Network를 구축할 것이다. https://aistudy9314.tistory.com/29 [분류모델] ResNet 이번에는 기본 CNN에서 조금 구조적으로 진화된 Network를 살펴보려고한다. 지난번 VGGNet같은 경우, 단순 CNN에 3x3필터를 이용하였는데 ResNet은 Residual이라는 조금 새로운 모델 구조를 선보였다. 지금 aistudy9314.tistory.com 이제부터 VGGNet에서 사용한 Train code는 거의 건들지 않을 것이기 때문에, 따로 다루지 않고 모델 부분만 코딩할 것이다. 1. Layer 먼저 layer를 만들어보자. resnet은 보통 18, 34, 50, 101, 152의 size를 갖는다(논문 기준). 논문에서 50이상부터는 bot..
2021.06.29 -
[분류모델] ResNet
이번에는 기본 CNN에서 조금 구조적으로 진화된 Network를 살펴보려고한다. 지난번 VGGNet같은 경우, 단순 CNN에 3x3필터를 이용하였는데 ResNet은 Residual이라는 조금 새로운 모델 구조를 선보였다. 지금까지도 여러 모델에 Residual이라는 개념이 사용될 정도이니, 이러한 아이디어를 고안한 것이 딥러닝에 얼마나 큰 기여를 하였는지 이해할 수 있을 것이다. 1. ResNet의 배경 ResNet은 Kaiming He라는 연구자에 의해 개발되었다(실질적으로는 그 연구팀). 딥러닝을 배우다보면 layer를 깊게 만드는 것이 성능을 높여주는 방법이라고 들은 적이 있을 것이다. 원래 과거에는 하드웨어의 한계로 인해 이 layer를 너무 깊게 쌓는 것이 불가능 하였는데, 20세기에 들어서면서..
2021.06.28 -
[Classificaiton] VGGNET 모델 코딩
이번에는 실제로 VGGNet을 구현해보고, 훈련까지 해볼 것이다. 코딩 글에서는 코드에 대한 간략한 설명과 결과 정도만 쓸 예정이다. https://aistudy9314.tistory.com/25 [분류모델] VGGNET 제목은 분류모델로 써놓았지만 이 카테고리에 쓸 모델들은 Object Detection, Segmentation 등 등 다른 Task의 기반이 되는 backbone 역할을 해준다고 보면 된다. 이러한 backbone 모델의 성능에 따라 딥러닝 aistudy9314.tistory.com 1. Layer 나는 자주쓰는 layer나 반복되어 쓰이는 과정을 block으로 묶어서 함수로 정의해두는 편이다. 먼저 실제 VGGNet에서 Batch Normalization이 실제로 쓰이지는 않았지만 개..
2021.06.24