분류 전체보기(113)
-
[밑바닥딥러닝] 6. 수치 미분, 편미분
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 기계학습에서 학습이 이루어지는 근간이자 수단이 바로 '미분'이다. 이 미분이란 무엇이고, 기계 학습에서 어떻게 이용될까? 수치 미분 / 편미분 In mathematics, the derivative of a function of a real variable measures the sensitivity to change of the function value (output value) with respect to a change in its argument (input value) 출처 : https://en.wikipedia.org/wiki/Derivative 위키디피아에 따르면 미분은 어떠한 ..
2021.10.01 -
[밑바닥딥러닝] 5. 신경망 학습 - 손실 함수, 미니 배치 학습
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 기계학습에서 '학습'이란 훈련 데이터(입력, 타깃)를 통해 가중치 매개변수의 값을 가장 최적의 방향으로 조정하는 과정을 말한다. 이번 장에서는 신경망에서 학습이 이루어지는 원리를 실습을 통해 알아보도록 하자. 훈련 데이터 기계학습에서는 예측 모델을 학습시키기 위해서 훈련 데이터(training data)를 사용한다. 훈련 데이터란 오로지 학습을 위해서 전체 데이터에서 일부분의 데이터를 따로 떼어놓은 데이터들이다. (이후에 훈련 데이터도 하이퍼 파라미터의 조정을 위해서 또 나눠지긴 하지만 일단은 위의 수준까지만 알아두자.) 훈련 데이터로 훈련시킨 예측 모델은 시험 데이터(test data)를 통해..
2021.09.30 -
[밑바닥딥러닝] 4. 신경망 구현 - 손글씨 인식
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 이번 장에서는 손글씨 이미지를 인식하는 신경망을 구현하여 신경망의 순전파(forward propagation)가 실제로 어떻게 이루어지는지 알아보도록 하자. 출처:https://ko.wikipedia.org/wiki/MNIST_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4 MNIST 데이터셋은 훈련용 이미지 60000개, 테스트용 이미지 10000개로 이루어진 손글씨 이미지 집합이다. 이미지 하나당 (28, 28)의 크기이며 각 픽셀은 0 ~ 255까지의 값을 취한다. import os import pickle from dataset.mnist..
2021.09.12 -
[밑바닥딥러닝] 3. 신경망 구현, 소프트맥스(softmax)
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 이번 장에서는 간단한 신경망을 구현하고 소프트맥스 함수에 대해서 알아보도록 한다. 신경망 구현 - 순방향(forward) 구현하고자 하는 신경망은 위와 같은 3층 신경망이다. (입력층은 0층부터 시작) 첫 입력(input)은 2개가 주어지고, 첫번째 은닉층에 3개의 노드, 두번째 은닉층에 2개의 노드 마지막으로 2개의 출력을 생성한다. 출력이 여러 개인 이유는 해당 신경망의 목표가 클래스 분류인 경우일 가능성이 높다. 노드 앞에 달린 작은 원은 활성화 함수를 거친 결과를 출력함을 나타낸다. 입력층에서부터 출력층까지 신호가 흘러가고, 최종적으로 특정값을 출력할 때, 이를 순방향(forward) 전..
2021.09.12 -
[밑바닥딥러닝] 2. 신경망(neural network), 활성화함수(Activation function)
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 이전 장에서는 입력으로부터 출력을 만들어내는 퍼셉트론을 알아보았다. 이번 장에서는 다수의 퍼셉트론을 이용하여 데이터로부터 가중치를 자동으로 학습하는 '신경망(neural network)'이라는 개념에 대해서 알아보도록 한다. 신경망(neural network) 도입 An ANN is based on a collection of connected units or nodes called artificial neurons, which loosely model the neurons in a biological brain. Each connection, like the synapses in a biolo..
2021.09.10 -
[밑바닥딥러닝] 1.퍼셉트론
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 퍼셉트론 퍼셉트론(Perceptron)의 정의는 다음과 같다. In machine learning, the perceptron is an algorithm for supervised learning of binary classifiers. A binary classifier is a function which can decide whether or not an input, represented by a vector of numbers, belongs to some specific class. It is a type of linear classifier, i.e. a classification a..
2021.09.10