일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 하둡2
- 파이썬
- Java
- scrapy
- effective python
- 알고리즘
- codingthematrix
- collections
- RNN
- python
- LSTM
- hadoop2
- 딥러닝
- GRU
- graph
- 그래프이론
- 주식분석
- 하이브
- Sort
- hive
- yarn
- C
- tensorflow
- NumPy
- HelloWorld
- C언어
- recursion
- 텐서플로
- 코딩더매트릭스
- 선형대수
- Today
- Total
목록DeepLearning (33)
EXCELSIOR
5-1. 심층 신경망 학습 - 활성화 함수, 가중치 초기화 저번 포스팅 04. 인공신경망에서 예제로 살펴본 신경망은 hidden layer가 2개인 얕은 DNN에 대해 다루었다. 하지만, 모델이 복잡해질수록 hidden layer의 개수가 많은 신경망 모델을 학습시켜야 한다. 이러한 깊은 DNN 모델을 학습시키는데에는 다음과 같은 문제가 발생할 확률이 높다.그래디언트 소실(vanishing gradient) 또는 폭주(exploding)가 발생할 수 있다.모델이 복잡하고 커질수록 학습시간이 매우 느려진다.모델이 복잡할수록 오버피팅(overfitting)될 위험이 크다.이번 포스팅에서는 이러한 문제들에 대해 알아보고 해결할 수 있는 활성화 함수와 가중치 초기화 방법에 대해 알아보도록 하자. 1. 그래디언트..
Custom Estimator이번 포스팅은 TensorFlow™️>GUIDE를 참고했으며, TensorFlow Estimator에 대한 자세한 내용은 여기를 참고하면 된다. 1. Estimator 란tf.estimator은 Python의 대표적인 머신러닝 모듈인 Scikit-Learn(sklearn)의 스타일처럼 복잡한 딥러닝 모델을 쉽게 작성할 수 있도록 해주는 라이브러리다. Keras와 마찬가지로 tf.contrib.learn으로 텐서플로에 들어왔으며, 이번 포스팅에서의 예제는 1.11.0버전(2018.09.28)에는 tf.estimator로 옮겨졌다. 2. Pre-made vs. Custom아래의 그림에서 볼 수 있듯이, pre-made Estimator들은 tf.estimator.Estimator..
TensorFlow Feature Column텐서플로에서는 tf.feature_column을 이용해 모델에 맞게 데이터를 변형하거나, 데이터의 형식을 지정해줄 수 있다. 이러한 tf.feature_column을 통해 처리한 데이터를 Estimator(여기 참고)에 쉽게 적용하여 모델링 할 수 있다. 이번 포스팅에서는 텐서플로의 feature_column을 이용해 데이터를 처리하는 방법과 Estimator가 아닌 텐서플로의 Low-Level API를 이용해 feature_column의 결과가 어떠한 모양을 가지는지, 그리고 여러개의 범주형 데이터에 대한 입력층(input layer)의 형태는 어떠한지에 대해 알아보도록 하자.먼저, 데이터의 종류에는 어떤 것이 있으며, Feature Engineering, ..
이번 포스팅은 핸즈온 머신러닝 교재를 가지고 공부한 것을 정리한 것입니다. Artificial Neural Networks인공 신경망(ANN, Aritificial Neural Networks)은 1943년 신경생리학자 Warren McCulloch과 수학자 Walter Pitts가 'A Logical Calculus of Ideas Immanent In Nervous Activity' 처은 소개했으며, 명제 논리(propositional logic)를 사용해 동물 뇌의 생물학적 뉴런이 복잡한 계산을 위해 어떻게 상호작용하는지에 대해 간단한 계산 모델을 제시했다. 1960년대까지는 이렇게 등장한 인공 신경망을 통해 사람들은 지능을 가진 기계와 대화를 나눌 수 있을 것이라고 생각했다. 하지만 아래 그림(출..
이번 포스팅은 '밑바닥부터 시작하는 딥러닝' 교재로 공부한 것을 정리한 것입니다. 아래의 이미지들은 해당 교재의 GitHub에서 가져왔으며, 혹시 문제가 된다면 이 포스팅은 삭제하도록 하겠습니다.. ㅜㅜ 오차역전파법 Backpropagation신경망 학습에서는 가중치 매개변수의 기울기를 미분을 이용해 구했다. 이러한 방법은 간단하지만 시간이 오래 걸리는 단점이 있다. 이번 포스팅에서는 가중치 매개변수의 기울기를 효율적으로 계산하는 오차역전파법(backpropagation)에 대해 알아보도록 하자. 1. 계산 그래프계산 그래프(computational graph)는 계산 과정을 그래프로 나타낸 것이며, 노드(node)와 엣지(edge)로 표현된다. 노드는 연산을 정의하며, 엣지는 데이터가 흘러가는 방향을 ..
이번 포스팅은 '밑바닥부터 시작하는 딥러닝' 교재로 공부한 것을 정리한 것입니다.신경망 학습이번 포스팅에서는 신경망 학습(training)에 대해 알아보자. 학습이란 학습 데이터로부터 가중치 매개변수의 최적값을 자동으로 찾는것을 말한다. 또한, 이번 장에서는 신경망이 학습할 수 있도록 하는 지표에 해당하는 손실함수 에 대해 알아보자. 1. 데이터 주도 학습1.1 데이터 주도 학습딥러닝을 종단간 기계학습(end-to-end machine learning)이라고도 한다. 종단간은 ‘처음부터 끝까지’라는 의미로, 데이터(입력)에서 목표한 결과(출력)를 얻는다는 뜻을 담고 있다. (그림 출처: 밑바닥부터 시작하는 딥러닝) 1.2 훈련 데이터와 시험 데이터머신러닝과 딥러닝에서는 데이터를 훈련 데이터(trainin..
이번 포스팅은 '밑바닥 부터 시작하는 딥러닝'교재로 공부한 것을 정리했습니다. 퍼셉트론 - Perceptron 1. 퍼셉트론이란?퍼셉트론(perceptron)은 프랑크 로젠블라트(Fank Rosenblatt)가 1957년에 고안안 알고리즘이다. 이 퍼셉트론이 바로 신경망(딥러닝)의 기원이 되는 알고리즘이다.퍼셉트론은 다수의 신호(흐름이 있는)를 입력으로 받아 하나의 신호를 출력한다. 퍼셉트론은 이 신호를 입력으로 받아 '흐른다/안 흐른다'(1 또는 0)이라는 정보를 앞으로 전달한다. 위의 그림에서,과 는 입력 신호, 는 출력 신호, 과 는 가중치(weight)를 의미한다. 원을 뉴런 또는 노드라고 부른다.입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해진다().뉴런에서 전달 받은 신호..
Chap10.1 - 모델 익스포트와 서빙, Saver학습한 모델을 저장하고 내보내는 방법에 대해 NumPy의 .savez()와 텐서플로의 Saver를 사용해 학습된 가중치를 저장하고 로드해보자. 10.1 모델을 저장하고 내보내기텐서플로를 이용해 모델을 만들고 학습한 뒤 학습된 모델 즉, 매개변수(weight, bias)를 저장하는 방법에 대해 알아보자. 이렇게 학습된 모델을 저장해놓으면 나중에 모델을 처음 부터 다시 학습시킬 필요가 없기 때문에 편리하다.학습된 모델을 저장하기 위해 NumPy를 이용해 매개변수를 저장하는 방법을 알아보고, 텐서플로의 Saver를 이용해 모델을 저장하고 관리하는 방법에 대해 알아보자. 10.1.1 로딩된 가중치 할당먼저, NumPy의 savez를 이용해 학습된 가중치 값을 ..