
위 포스트는 정보문화사에서 출판한 책 '파이썬 딥러닝 파이토치'를 바탕으로 작성되었습니다. MLP MLP는 여러 개의 퍼셉트론 조합과 이것들의 재조합으로 복잡한 비선형적인 모형을 만들어내는 것을 말한다. MLP의 Hidden Layer를 쌓으면 Layer가 깊어지기 때문에 MLP는 딥러닝의 기본적인 모델이 된다. 이 신경망은 Input에서 Weight와 Hidden을 거쳐 Output을 내보내는데, 이 과정을 'Feed Forward'라 한다. Back Porapagation Feed Forward를 이용해 계산하는 output은 우리가 얻고자 하는 예측 값이다. 이 예측값과 실제값의 차이(ERROR)를 계산하고, 이를 바탕으로 신경망의 Weight를 업데이트한다. 이 과정이 바로 'Back Propag..

위 포스트는 정보문화사에서 출판한 책 '파이썬 딥러닝 파이토치'를 바탕으로 작성되었습니다. 우리는 전체 데이터가 아니라 샘플 데이터(표본)만 갖고 있다. 우리가 갖고 있는 샘플 데이터를 완벽하게 맞추는 모델을 만들었을 때, 우리가 보지 못한 데이터도 모두 잘 맞을거라 보장할 수 있을까? 우리가 갖고 있는 데이터를 더욱 완벽하게 맞추려고 노력할수록 우리가 보지 못한 데이터는 더 맞추지 못할 확률이 높다(과적합). 여기서 과적합이 발생하는 이유는 무엇일까? 1. 샘플 데이터 수의 부족 만약 전체 집단의 데이터를 갖고 있고 이 데이터에 잘 맞는 모델을 만들었다면 전혀 문제가 없다. 즉, 학습할 데이터의 수가 많을수록 모집단의 특성을 잘 반영할 확률이 높으며 우리가 갖고 있는 데이터가 모집단의 특성을 잘 반영할..

위 포스트는 정보문화사에서 출판한 책 의 내용을 바탕으로 작성되었습니다. 머신러닝이란? 머신러닝의 정의는 인공지능과 똑같지만, 사용하는 분야가 조금 다르다고 보면 된다. 최근의 머신러닝은 행과 열이 존재하는 행렬(정형 데이터)을 이용해 뭔가 예측 또는 분류하고 싶을 때 사용하고, 이미지 또는 텍스트와 같이 정형화돼 있지 않은(비정형 데이터) 데이터를 사용할 때는 인공지능(딥러닝)을 사용한다. (크게 보면 머신러닝은 인공지능 안에 포함되는 개념이라 볼 수 있다) 머신러닝의 종류 머신러닝 모델의 학습 목표는 '데이터(Input)에 대한 모델의 결과(Output)가 정답(Label)에 가깝게 나오도록 학습시키는 것'이다. 그렇다면 어떤 방법으로 모델을 학습시키는 것일까? 전반적인 머신러닝 모델 학습 방식은 다..
위 포스트는 정보문화사에서 출판한 책 의 내용을 바탕으로 작성되었습니다. 인공지능의 사례에는 어떤 것이 있을까? 1. 이미지 분류 인간이 이미지를 분류하는 성능은 약 95% 정도로 알려져 있다. 이런 인간의 능력을 따라잡기 위해 많은 연구자들은 어떻게 하면 인간 또는 그 이상으로 딥러닝이 이미지를 분류하는 성능을 낼 수 있을까 고민했다. 많은 연구 끝에 96%의 성능을 기록한 'ResNet'이라는 모델이 만들어졌다. 그 이후에도 딥러닝 모델은 계속 발전하여 단순히 이미지를 분류하는 것을 넘어 다양한 분야와 방식으로 발전하고 있다. 2. 객체 탐지(Object Dectection) 객체 탐지는 어떤 이미지 및 비디오 속에 포함되어 있는 물체에 대해 해당 물체가 어떤 물체인지를 분류하는 문제와 물체의 위치를..

위 포스트는 정보문화사에서 출판한 책 의 내용을 바탕으로 작성되었습니다. Autograd Autograd는 신경망 학습을 지원하는 PyTorch의 자동 미분 엔진이다. 파이토치를 활용 시 Back Propagation을 이용하여 파라미터를 업데이트하는 과정은 Autograd 방식으로 쉽게 구현할 수 있다. 이를 간단한 딥러닝 모델을 설계해보면서 구체적으로 설명해 보겠다. 우선, 전체 코드는 아래와 같다. 위의 전체 코드를 3개의 과정으로 분할하여 차근차근 살펴보자. (1) cuda.is_available() 메서드 : 현재 파이썬이 실행되고 있는 환경에서 GPU를 계산할 수 있는지를 파악한다. (2) BATCH_SIZE : 딥러닝 모델에서 파라미터를 업데이트할 때 계산되는 데이터의 개수이다. Input으..