인공지능(13)
-
[Detection] YOLO (You Only Look Once)
You Only Look Once: Unified, Real-Time Object Detection Object detection task에서 좋은 성능을 보였던 RCNN 계열은 성능은 좋지만 end-to-end 학습이 안되고 stage에 따라 학습을 여러 번 해야하는 번거로움이 있었다. 또한, region proposal과 같은 방법은 window 마다 모델을 통과시켜야 하였기 때문에 속도 측면에서 매우 큰 단점을 가졌다. YOLO는 위와 같은 단점을 해결하고자 문제를 regression task로 바꾸어 하나의 모델로 end-to-end 학습을 할 수 있도록 만든 방법이다. https://arxiv.org/abs/1506.02640 You Only Look Once: Unified, Real-Time..
2022.09.06 -
[심층 학습] Linear Algebra (1)
12월 정도부터 Ian GoodFellow와 Yoshua Bengio의 Deep Learning이라는 책을 가지고 스터디를 하고 있는데, 난이도가 어느 정도 있는 편이라 차근 차근 정리를 해 나가려고 한다. 본인도 챕터가 지나면 지날 수록 이해가 안가거나 어려운 부분이 있으니 만약 내용이 틀렸거나 수정해야 할 부분이 있다면 댓글로 달아주길 바란다. 또한, 모르는 부분에 있어서는 글로 남겨두고 여러 사람들과 이에 대해 토론할 수 있었으면 좋겠다는 생각이 든다..ㅎㅎ 선형 대수와 확률 통계는 머신러닝과 딥러닝을 이해하는 데 있어서 중요한 도구로 많이 쓰인다. 이러한 학문의 범위는 매우 넓지만 이 책에서는 딥러닝에 필요한 부분만을 추려서 소개한다. 1. Scalars, Vectors, Matrices and..
2022.02.23 -
[인공지능 기초] 9. RNN
Traditional Neural Network나 CNN은 Sequence Data에 대해서 좋은 성능을 내지 못하였다. 이러한 데이터들은 시간이나 순서에 중요한 정보를 가지고 있기 때문에 이러한 특성을 같이 포함시킬 수 있는 네트워크가 필요하였다. 그리고 그것이 바로 RNN이다. 1. RNN RNN은 시간이나 순서에 따른 처리를 해주기 위하여 등장하였다. 기본적으로 ANN의 형태를 가지지만, 이전 state 값 $s_{i-1}$가 현재 state 값 $s_i$를 계산할 때 사용된다는 점이 다르다. 각 state는 이전 정보를 함축하고 있고, 따라서 제일 마지막 $s_n$은 모든 정보를 포함하게 된다. $$ h_t = f_W(h_{t-1}, x_t)$$ 1.1 RNN Cell 기본적으로 RNN Cell은..
2022.02.19 -
[인공지능 기초] 8. Convolutional Neural Networks(CNN)
기존 Deep Neural Network의 문제점 왜 이전의 DNN을 사용하지 않고 굳이 CNN이라는 새로운 개념을 만들어냈을까? 어떤 문제가 있는지 살펴보자. 고차원 input 데이터 먼저 input 이미지가 매우 고차원이다. 사람이 불편하지 않게 볼 수 있는 사이즈가 대략 256x256인데 color이미지면 차원만 256x256x3=196608이된다. 여기다 hidden layer를 추가하면 어떻게 될까? layer가 늘어날 때마다 parameter의 수가 기하급수적으로 늘어날 것이다. 이러한 문제로 인해 엄청난 계산량을 필요로 하고, 모델의 complexity도 높아져 overfitting이 일어날 수 있게 된다. Flexibility of Topology DNN은 1차원 벡터만을 사용할 수 있기 ..
2022.02.06 -
[인공지능 기초] 7. SVM(Support Vector Machine)
이번에는 분류기(classifier)로 매우 유명한 Support Vector Machine에 대해서 알아보겠다. CNN이전에 가장 많이 쓰였던 classifier이고, 지금까지도 사용되고 연구도 진행되고 있는 방식이다. SVM은 Maximum Margin Classifier라고도 불린다. 말 그대로 margin을 최대화시키도록 학습이 되기 때문이다. SVM은 데이터를 비선형 매핑을 통해서 고차원으로 변환하는 과정을 거친다. 이 새로운 차원에서 데이터들을 잘 분리하는 선형 boundary(decision boundary)를 찾는 것이 SVM의 목적이다. 1. 왜 고차원으로 변환해야 할까? 간단한 예제를 한번 보자. 개념은 MLP와 비슷하다. 2차원에서 A=[a, d], B=[b, c]는 non-linea..
2021.10.10