본문 바로가기

AI/밑바닥부터 시작하는 딥러닝

(5)
Chapter 7. 합성곱 신경망(CNN) 이 게시물은 밑바닥부터 시작하는 딥러닝 1권을 바탕으로 작성되었습니다. 이번 장의 주제는 합성곱 신경망(convolutional neural network, CNN)입니다. 전체 구조 지금까지 본 신경망은 인접하는 계층의 모든 뉴런과 결합되어 있었습니다. 이를 완전 연결(fully-connected, 전결합)이라고 하며, 완전히 연결된 계층을 Affine 계층이라는 이름으로 구현했습니다. 완전 연결 신경망은 Affine 계층 뒤에 활성화 함수를 갖는 ReLu 계층(혹은 Sigmoid 계층)이 이어집니다. CNN의 구조는 다음과 같습니다. CNN에서는 새로운 합성곱 계층(Conv)과 풀링 계층(Pooling)이 추가됩니다. CNN의 계층은 ‘Conv-ReLu-(Pooling)’ 흐름으로 연결됩니다.( 풀링..
Chapter 5. 오차역전파법 이 게시물은 밑바닥부터 시작하는 딥러닝 1권을 바탕으로 작성되었습니다. 계산 그래프 계산 그래프(computational graph)는 계산 과정을 그래프로 나타낸 것입니다. 계산 그래프는 복수의 노드(node)와 에지(edge)로 표현됩니다. 그럼 간단한 문제를 계산 그래프를 이용해 풀어보겠습니다. 문제 1 : 현빈 군은 슈퍼에서 1개에 100원인 사과를 2개 샀습니다. 이때 지불 금액을 구하세요. 단, 소비세가 10% 부과됩니다. 그림에서 처음에 곱셈 노드에 사과 1개의 가격과 사과의 개수가 입력으로 들어갑니다. 그에 대한 출력이 200으로 나오게 되고, 그 출력과 소비세 10%에 관한 값이 다음 곱셈 노드의 입력으로 들어가고 최종 지불 금액이 계산됩니다. 이처럼 계산 그래프를 그려서 왼쪽으로 오른쪽..
Chapter 4. 신경망 학습 이 게시물은 밑바닥부터 시작하는 딥러닝 1권을 바탕으로 작성되었습니다. 이번 장의 주제는 신경망 학습입니다. 여기서 학습이란 훈련 데이터로부터 가중치 매개변수의 최적 값을 자동으로 획득하는 것을 뜻합니다. 이번 장에서는 신경망이 학습할 수 있도록 해주는 지표인 손실 함수를 소개합니다. 이 손실 함수의 결괏값을 가장 작게 만드는 가중치 매개변수를 찾는 것이 학습의 목표입니다. 손실 함수의 값을 작게 만드는 기법으로 함수의 기울기를 활용하는 경사법도 소개합니다. 훈련 데이터와 시험 데이터 기계 학습에선 데이터를 훈련 데이터와 시험 데이터로 나눠 학습과 실험을 수행하게 됩니다. 훈련 데이터를 이용해 모델 훈련을 하고, 시험 데이터로 테스트를 보는 것입니다. 이렇게 하는 이유는 우리가 원하는 것은 새로운 데이터..
Chapter 3. 신경망 이 게시물은 밑바닥부터 시작하는 딥러닝 1권을 바탕으로 작성되었습니다. 2장에서 퍼셉트론에 대해 배웠습니다. 하지만 퍼셉트론 구현 과정에서 가중치와 편향에 대한 작업을 우리가 직접 적절한 값을 넣어줬습니다. 신경망이 이 귀찮은 일을 해결해줍니다. 신경망의 중요한 성질이 바로 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습하는 능력입니다. 이번 3장에서는 신경망의 개요와 신경망이 입력 데이터가 무엇인지 식별하는 처리 과정을 자세히 알아보겠습니다. 신경망 그림으로 표현된 신경망은 입력층, 은닉층, 출력층으로 구성되는 2층 신경망입니다. 신경망의 신호 전달 방법을 보기 전에 퍼셉트론에 대해 살짝 복습해보겠습니다. $$y=\begin{cases}0 & (w_1x_1 + w_2x_2 +b \leq 0)\..
Chapter 2. 퍼셉트론 이 게시물은 밑바닥부터 시작하는 딥러닝 1권을 바탕으로 작성되었습니다. 2. 1 퍼셉트론이란? 퍼셉트론(perceptron)은 프랑크 로젠블라트(Frank Rosenblatt)가 1957년에 고안한 알고리즘입니다. 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력합니다. 예를 들어 신호가 흐르면 1, 신호가 흐르지 않으면 0 으로 출력하는 경우입니다. 그림은 입력으로 2개의 신호를 받은 퍼셉트론의 예입니다. $x_1$, $x_2$ 는 입력 신호, $y$는 출력 신호, $w_1$, $w_2$는 가중치를 뜻합니다. 그림에서 원을 뉴런 혹은 노드 라고 부릅니다. 입력 신호가 뉴런에 보내질 때 각각 고유한 가중치가 곱해집니다. 뉴런에서 보내온 신호의 총 합이 정해진 한계를 넘어설 때만 1을 출력합니다...