본문 바로가기

공부/딥러닝 (Tensorflow)

(6)
오차역전파법 Backpropagation (오차역전파법) 오차를 역으로 전파하는 방법 여기서 오차란? 손실값 가중치 매개변수(w1, w2)의 기울기를 효율적으로 계산하는 방법 Q. 언제까지 이과정을 반복? ...더보기 A. 0이 될 때 가지 하는 것이 궁극적이나 0이 될 수 없으면 오차가 내가 정한 엡실론보다 작아질 때 까지 반복한다. Forward propagation (순전파) 계산을 왼쪽에서 오른쪽으로 진행 Computational graph (계산 그래프) 계산 과정을 그래프로 나타낸 것 복수의 node와 edge로 표현됨 계산 그래프를 통한 역전파 미분 값 전달 계산 그래프의 특징 국소적 계산을 전파함으로써 최종 결과를 얻음 국소적계산 전체에서 어떤 일이 벌어지든 상관없이 자신과 관계된 정보만으로 결과를 출..
신경망 학습 Learning (Training) 학습 훈련 데이터(training set)로부터 가중치 매개변수의 최적(optimization) 값을 자동으로 획득하는 것 Learning의 최종 목표 : 내가 어떤 신경망을 디자인했다면, 그 신경망의 최적의 가중치를 찾아내는 것 End-to-End Machine Learning 종단간 기계학습 데이터(입력)에서 목표한 결과(출력)를 사람의 개입 없이 얻으므로 딥러닝을 종단간 기계 학습이라 부르기도 한다. Q. 신경망의 성능을 평가하기 위해 신경망을 구성하는데, 이때 신경망을 구성한다는 것은 무슨 뜻일까? ...더보기 A. 가중치와 매개변수를 찾겠다는 것 Training Data 훈련 데이터 & Test Data 시험 데이터 훈련 데이터 : 최적의 가중치 매개변수 탐색..
신경망 Neural Network - 계단 함수, 시그모이드 함수, ReLU 함수 신경망 퍼셉트론으로 복잡한 함수를 표현할 수 있다. 그러나 가중치를 설정하는 작업은 사람이 입력해야 한다. 신경망은 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습한다. 신경망을 그림으로 나타내면 다음과 같다. 입력층 (input layer) - 정보를 넘겨주는 역할 은닉층 (hidden layer) - 은닉층은 보이지 않는다. 출력층 (output layer) - 넘어온 정보를 계산하는 역할 신경망은 모두 3층으로 구성되지만, 가중치를 갖는 층은 2개 뿐이므로 '2층 신경망'이라 한다. 가중치를 갖는 층의 개수 = (입력층 + 은닉층 + 출력층) - 1 활성화 함수 activation function 가중치가 달린 입력 신호와 편향의 총합을 계산하고 이를 y라 한다. 그리고 y를 함수 f( )..
퍼셉트론 perceptron 퍼셉트론이란? 신경망과 딥러닝의 기원이 되는 퍼셉트론은 1957년 프랑크 로젠블라트가 고안한 알고리즘이다. 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 실제 전류와 달리 퍼셉트론 신호는 '흐른다와 안흐른다(1 or 0)'의 두가지 값을 가진다. 입력 신호 : x1, x2 - 입력 신호가 있는 층을 입력층(Input layer)이라 한다. 출력 신호 : y 가중치 (weight) : w1, w2 원 : 뉴런, 노드, 유닛이라 불린다. 선 (edge) : 선은 데이터의 흐름(flow)을 나타내는 길 (tensor로 이 흐름을 구현하므로 텐서플로이다.) 퍼셉트론 동작 원리 입력 신호가 뉴런에 보내질 때 각각 고유한 가중치가 곱해진다. 뉴런에서 보내온 신호의 총합이 정해진 한계(임계값 θ)를..
머신러닝 (Machine Learning ) explicit programming 명시적 프로그래밍이란? 명시적 프로그램은 rule based programming을 뜻한다. rule base programming이란, C++, 알고리즘과 같이 어떠한 조건에 따라 수행되는 프로그래밍이다. Limitations of explicit programming 명시적 프로그래밍의 한계 e.g. 자율주행자동차 조건으로 판단해야 할 것들이 너무 많다. 가로등, 가로수, 사람, 도로, 차 등을 실시간으로 판단해야함. 조건을 다 수행해서 연산하기에는 시간이 너무 많이 걸린다. -> explicit programming 할 수 없다. -> 머신러닝이 필요 Machine Learning 머신러닝 “Field of study that gives computers the..
인공지능, 머신러닝, 딥러닝의 차이 인공지능, 머신러닝, 딥러닝 차이 인공지능 Artificial Intelligence 가장 큰 개념으로 기계에 의해서 나타내어지는 지능 어떤 문제가 주어졌을 때 최적의 솔루션을 이끌어 낼 수 있는 지능 머신러닝 Machine Learning 인공적인 지능을 얻기 위한 접근 기법 명시적으로 프로그래밍 되지 않고 배울 수 있는 능력 딥러닝 Deep Learning 머신러닝을 구현하기 위한 하나의 방법 데이터(입력)에서 목표한 결과(출력)을 사람의 개입 없이 얻는다. 즉, 인공지능은 기계한테 사람의 지능을 심어주고자 하는 개념이고 머신러닝은 이를 구현하기 위한 기술이며 딥러닝은 머신러닝을 구현하기 위한 기술이다.