전체 글 (45) 썸네일형 리스트형 chapter 1 인공지능 딥러닝의 이해 - 3절 인공 신경망과 근사 함수 - 1항 2차 함수 근사해 보기 머신러닝 모델을 통해 2차 함수를 근사해 보겠다. 2차 함수로 대응되는 x, y 값들을 실제 데이터처럼 흩뜨려 학습 데이터를 만들고, 그 데이터를 통해 학습을 진행해 보겠다. 먼저, -2에서 0.5까지 범위의 값 1000개를 랜덤으로 생성해서 x값으로 하고, 이에 대응되는 y값을 계산해 저장한다. 10번째 줄은 랜덤으로 생성한 값들의 순서를 섞는 과정인데, 학습 데이터를 렌덤으로 섞는 과정은 머신러닝에서 굉장히 중요한 과정이다. y값을 위 아래로 흩뜨려 실제 데이터처럼 만든다. 1000개의 데이터셋을 800의 학습 데이터와 200개의 실험 데이터 나눈다. 파란색이 학습 데이터, 빨간색이 실험 데이터이다. 단위 인공 신경 16개로 구성된 은닉 층 2개와 하나의 단위 인공 신경을 가진 출력 층 하나를 가진 .. chapter 2 딥러닝과 신경망 - 7절 역전파 알고리즘 역전파란 가중치에 대한 오차의 미분을 입력층까지 전달하는 것을 말한다. 역전파(backpropagation)은 역방향 계산(backward pass)라고도 불리며, 가중치 수정을 위해 가중치에 대한 오차의 미분을 출력층부터 첫 번째 층까지 전달하는 것을 말한다. 다층 퍼셉트론에서 오차함수와 바로 연결되지 않은 가중치들에 대한 오차의 변화를 계산하기 위해 연쇄 법칙(chain rule)을 이용한다. chapter 2 딥러닝과 신경망 - 6절 최적화 알고리즘 1. 최적화의 개념 최적화(optimization)란 어떤 값을 최소화하거나 최대화하는 것으로 문제를 바라보는 관점이다. 머신러닝에서는 오차를 최소화 하는 것을 최적화라고 한다. 모든 가능한 값을 시도해 오차가 최소가 되는 지점을 찾는 것은 실질적으로 불가능하기 때문에 최적화 알고리즘이 필요하다. 2. 최적화 알고리즘의 종류 배치 경사 하강법 배치 경사 하강(batch gradient descent, BGD)은 오차 함수의 최저점에 도달할 떄까지 오차 함수의 언덕을 내려가는 방법이다. 경사 하강을 하기 위해서는 경사와 학습률을 결정해야 한다. 경사는 가장 가파른 경사를 선택해야 하고, 학습률은 너무 좁지도 않고 너무 넓지도 않게 적절히 결정해야 한다. 경사를 계산하기 위해 모든 훈련 데이터를 이용하기 때.. chapter 2 딥러닝과 신경망 - 5절 오차 함수 1. 오차 함수의 개념 오차 함수(error function)는 비용 함수(cost function) 또는 손실 함수(loss function)이라고도 불리며, 신경망의 예측 결과가 바람직한 출력과 비교해서 얼마나 동떨어졌는지 측정하는 수단이다. 손실값이 크면 모델의 정확도가 낮다는 것을 뜻하고, 손실값이 작으면 모델의 정확도가 높다는 것을 뜻한다. 출력값은 항상 양수이다. 2. 오차 함수의 종류 평균제곱오차 평균제곱오차(mean squared error, MSE)는 각 데이터 점의 오차를 제곱해서 평균을 구한다. 출력값이 실수인 회기 문제에서 주로 사용한다. 절대제곱오차 절대제곱오차(mean absolute error, MAE)는 각 데이터 점의 오차의 절대값의 평균이다. 평균제곱오차와 달리 모델의 대.. chapter 2 딥러닝과 신경망 - 4절 순방향 계산 1. 순방향 계산의 개념 특징의 선형 결합을 활성화 함수에 통과시키는 계산과정을 순방향 계산(feedforward process)이라고 한다. 2. 순방향 계산 과정 순방향 계산은 입력값들의 가중합을 구하고 활성화 함수를 적용하는 것을 층 수만큼 반복하는 방식으로 진행된다. 따라서 수많은 계산이 필요한데, 행렬을 이용하면 여러 개의 입력을 한번에 계산할 수 있다. 3. 특징 학습 은닉층의 각 노드는 각 층에서 학습된 새로운 특징이다. 따라서 여러 층으로 구성된 은닉층은 입력 값이 각 층을 지날 때마다 새로운 특징을 만든다. chapter 2 딥러닝과 신경망 - 3절 활성화 함수 활성화 함수는 전이 함수(transfer function) 또는 비선형성(nonlinearity) 이라고도 불린다. 활성화 함수는 신경망에 비선형성을 도입하고 출력값을 제약하는 역할을 한다. 비선형성이 없다면 다층 퍼셉트론이 단일 퍼셉트론과 다를 바가 없다. 선형 전달 함수 선형 전달 함수(linear transfer function)는 항등 함수(identity function)이라고도 불리며 입력을 그대로 출력한다. 즉, 실질적으로 활성화 함수가 없는 효과를 낸다. 헤비사이드 스텝 함수 스텝 함수(step function)는 입력이 0보다 크면 1을 출력하고 0보다 작으면 0을 출력한다. 주로 이진 분류 문제에 사용된다. 시그모이드 함수 시그모이드 함수(sigmoid function)는 모든 입력을 .. chapter 2 딥러닝과 신경망 - 2절 다층 퍼셉트론 1. 다층 퍼셉트론의 구조 퍼셉트론을 여러 층으로 연결한 구조를 다층 퍼셉트론라고 한다. 다층 퍼셉트론(multilayer perceptron, MLP)은 입력층, 은닉층, 결합 가중치, 출력층으로 구성된다. 입력층은 특징 벡터가 담기는 곳이다. 은닉층은 특징을 직접 학습하는 곳이다. 결합 가중치는 노드 간의 연결에서 입력의 영향력을 나타내는 역할을 한다. 출력층은 모델의 예측결과가 출력되는 층이다. 2. 층수와 층을 이루는 노드 수 층수와 층을 이루는 노드 수는 신경망의 성능을 결정짓는다. 일반적을로 모델의 정화도를 높이려면 층수와 층을 이루는 노드 수를 늘리면 된다. 하지만 이것들을 과도하게 늘리면, 모델이 학습 데이터에 지나치게 부합해버리는 과적합(overfit)을 일으키고 계산 비용도 많이 든다... chapter 2 딥러닝과 신경망 - 1절 퍼셉트론 1. 퍼셉트론의 개념 퍼셉트론이란 뉴런이 하나뿐인 신경망이다. 퍼셉트론(perceptron)은 가중합(weighted sum)과 스텝 함수(step function)으로 구성되어 있다. 가중합은 선형 결합(linear combination)이라고도 부르며 각 가중치를 곱한 입력값의 합에 편향을 더한 값으로 정의된다. 가중합은 직선을 만들어내며 편향이 직선의 y절편 역할을 한다. 스텝 함수는 출력 값들을 목적에 맞는 값으로 만들어 준다. 2. 퍼셉트론의 학습 과정 퍼셉트론은 실수를 통해 배우는 시행착오 전략으로 학습한다. 퍼셉트론은 뉴런이 가중합과 스텝 함수를 통해 예측값을 결정하고, 이를 실제 레이블과 비교해 오차를 계산하고, 오차를 줄이는 방향으로 가중치를 조절하는 방식으로 학습한다. 학습이 완료되면 .. 이전 1 2 3 4 5 6 다음