유승훈

친절한 딥러닝 수학(1) - 신경망을 시작하자 본문

책 리뷰/친절한 딥러닝 수학

친절한 딥러닝 수학(1) - 신경망을 시작하자

seunghuni96 2021. 3. 31. 16:59

본 도서는 한빛미디어 도서 서평단 <나는 리뷰어다 2021>로 선정되어 받은 도서입니다. 리뷰 작성 겸 각 챕터를 간단하게 정리해보고자 합니다.

 

신경망은 우리가 알고있는 회귀분석, SVM 등과 같이 Machine Learning 알고리즘들 중 하나입니다. 다른 머신러닝 알고리즘들과 마찬가지로 가격, 점수 같은 연속형 변수를 예측하는 회귀문제도, 개vs고양이, 양성vs음성, 상vs중vs하와 같이 Class를 나누는 분류 문제도 풀 수 있습니다.

 

신경망은 인간의 뇌 기능을 흉내내고 있습니다. 우리의 뇌 속에 있는 뉴런이라고 하는 세포가 신경망 모델이라고 할 수 있습니다. 그림의 각 원을 유닛이라고도 합니다.

신경망은 유닛을 연결할 때 가중치라는 값을 가지는데, 이는 해당 변수의 중요도나 종속변수와의 연관성을 나타냅니다. Weight의 출발값을 정하는 것을 Weight Initialization이라고 하고, 신경망을 학습한다는 것은 결국 이 가중치들을 학습시켜나가는 과정을 볼 수 있습니다.

 

입력층과 출력층은 우리가 풀고자 하는 문제나 만들어내고자 하는 결과에 따라 달라지지만, 은닉층은 우리가 원하는대로 조절할 수 있습니다. 층 안에서 유닛의 개수를 늘릴수도, 줄일수도 있고, 층을 하나가 아니라 여러겹을 둘 수도 있습니다. 여러 종류의 신경망 모델 중에서 깊은 층을 가진 신경망을 심층신경망, DNN이라고 하고, 이 신경망의 가중치를 학습시키는 것이 우리가 흔히 아는 딥러닝입니다. 

 

유닛 간의 연결방법을 바꿀수도 있는데, 그 중 하나가 합성곱 신경망(CNN)입니다.

 

신경망은 $f(x)=y$에서 `f`로 생각할 수 있습니다. 앞서 회귀, 분류문제를 둘 다 풀 수 있다고 했는데, 회귀문제를 풀 때는 출력층을 1개로 두어 예측값을 return하게 하고, 분류문제를 풀 때는 Class의 수 만큼 두어 각 유닛이 해당 클래스가 될 확률을 return하게 합니다. 출력층이 return하는 확률은 합이 1이 되고, 그 중 가장 큰 확률값을 갖는 클래스를 최종 예측값으로 사용하게 됩니다.

 

딥러닝은 정형 데이터 뿐 아니라 이미지, 음성 데이터 같은 비정형 데이터에도 활용됩니다. 이미지 데이터를 쓸 때는 입력층의 개수가 픽셀 수가 됩니다. 이는 흑백 이미지일때의 경우이고, 컬러 이미지일때는 RGB 3개의 채널을 갖기 때문에 픽셀수x3 만큼을 픽셀 수로 갖게 됩니다.

 

이미지를 만들 수도 있는데요, 어떤 난수를 넣으면 가중치에 따라서 이미지를 만들어내는 딥러닝 모델을 만들수도 있습니다. 

 

신경망은 처음 등장했을때부터 주목 받지는 못했습니다. 초기에는 간단한 문제를 풀 수는 있었지만, 복잡한 문제는 풀 수 없었기 때문입니다.

 

 

Comments