일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 주식분석
- NumPy
- effective python
- recursion
- Sort
- scrapy
- collections
- C언어
- codingthematrix
- HelloWorld
- 그래프이론
- hive
- 알고리즘
- 하이브
- 선형대수
- RNN
- 딥러닝
- 텐서플로
- C
- hadoop2
- LSTM
- GRU
- 코딩더매트릭스
- Java
- 파이썬
- python
- 하둡2
- graph
- tensorflow
- yarn
- Today
- Total
목록DeepLearning (33)
EXCELSIOR
Chap04 - 합성곱 신경망 CNN합성곱 신경망(CNN, Convolutional Neural Network)와 관련된 구성 요소 및 메소드에 대해 알아보고, MNIST 데이터 분류 및 CIFAR-10 데이터에 대해 알아보도록 하자. 4.1 CNN 소개여기서는 CNN에 대해 간략하게 소개한다. 자세히 알고 싶다면 합성곱신경망을 참고하면 된다. 먼저, 합성곱(convolution)신경망과 완전연결(fully connected)신경망의 근본적인 차이점은 계층간의 연결이다.완전연결 신경망은 이름에서도 알 수 있듯이 각 유닛(뉴런)이 앞 계층의 모든 유닛과 연결되어 있다. 반면, 합성곱 계층에서는 각각의 유닛은 이전 계층에서 근접해 있는 몇 개의 유닛들에만 연결된다. 또한 모든 유닛은 이전 계층에 동일한 방법..
Chap03 - 텐서플로의 기본 이해하기텐서플로의 핵심 구축 및 동작원리를 이해하고, 그래프를 만들고 관리하는 방법과 상수, 플레이스홀더, 변수 등 텐서플로의 '구성 요소'에 대해 알아보자. 3.1 연산 그래프3.1.1 연산 그래프란?그래프는 아래의 그림과 같이 노드(node)나 꼭지점(vertex)로 연결 되어 있는 개체(entity)의 집합을 부르는 용어다. 노드들은 변(edge)을 통해 서로 연결되어 있다. 데이터 흐름 그래프에서(DataFlow Graph)의 변(edge)은 어떤 노드에서 다른 노드로 흘러가는(flow) 데이터의 방향을 정한다.텐서플로에서 그래프의 각 노드는 하나의 연산을 나타내며, 입력값을 받아 다른 노드로 전달할 결과값을 출력한다. 3.1.2 연산 그래프의 장점텐서플로는 그래프..
Chap02 - 텐서플로 설치에서 실행까지 2.1 텐서플로 설치텐서플로 설치에 대한 자세한 내용는 https://www.tensorflow.org/install/ 에서 각 운영체제별로 설치할 수 있게 안내되어 있다. # TensorFlow CPU pip install tensorflow # TensorFlow GPU pip install tensorflow-gpu 2.2 Hello WorldTensorFlow의 첫 번째 예제인 Hello와 World!라는 단어를 결합해 Hello World!라는 문구를 출력하는 프로그램이다. import tensorflow as tf # TensorFlow 버전 확인 print(tf.__version__) 1.8.0 # hello_world.py h = tf...
Chap01 - 개요1.1 텐서플로 란? 텐서플로(TensorFlow)는 구글(Google)에서 만든, 딥러닝 프로그램을 쉽게 구현할 수 있도록 다양한 기능을 제공해주는 라이브러리다. 텐서플로 자체는 기본적으로 C++로 구현 되어 있으며, 아래의 그림과 같이 Python, Java, Go 등 다양한 언어를 지원한다. 하지만, 파이썬을 최우선으로 지원하며 대부분의 편한 기능들이 파이썬 라이브러리로만 구현되어 있어 Python에서 개발하는 것이 편하다.출처: tensorflow.org 또한, 브라우저에서 실행가능한 시각화 도우인 텐서보드(TensorBoard)를 제공하여, 딥러닝 학습 과정을 추적하는데 유용하게 사용된다. 1.2 텐서플로의 의미TensorFlow에서 Tensor(텐서)란 딥러닝에서 데이터를 ..
이번에 공부할 책은 러닝 텐서플로(원서: Learning TensorFlow)이다. 딥러닝을 공부하면서 실무나 깃헙에 공개된 모델들을 가져와 구현하거나 사용하기 위해서는 딥러닝 프레임워크에 대한 공부도 중요하다는 것을 느꼈다. 현재 텐서플로는 버전 업그레이드가 빨라 (2018.05.31 기준 ver-1.8) 교재 소스코드랑 맞지 않는 부분이 간혹 있는듯하다. 러닝 텐서플로를 공부하면서 정리한 내용과 1.8 버전에 맞게 코드를 작성하여 포스팅 하려고 한다. 코드를 직접 내려받고 싶으신 분들은 https://github.com/ExcelsiorCJH/LearningTensorFlow (깨알 깃헙자랑) 에서 받을 수 있다.
이번 LSTM은 Chris송호연님의 블로그와 aikorea.org를 많이(실은 거의...) 참조하였으며, 이미지 출처는 원 저작자인 Colah.github.io 입니다. 문제가 될경우 삭제 하겠습니다..ㅜㅜ 1. LSTM 배경 - 장기 의존성(Long-Term Dependency) 문제점 RNN의 장점은 이전의 정보를 공유하여 활용할 수 있다는 것이다. 하지만, 시점간의 간격(Gap)이 크지 않을 경우에 가능하며 이러한 문제의 원인은 Vanishing Gradient에서 알 수 있듯이 BPTT에서 Chain Rule에 의해 [-1, 1]사이의 값들이 계속 곱해지다보니 앞쪽으로 갈 수록 그 값이 작아져, 결국에는 소멸해버려 Parameter들의 업데이트가 되지 않는 문제가 발생하기 때문이다. 이러한 문제를..
CNN에 대해 더 자세한 내용은 아래의 링크를 참고하시면 됩니다.자세한 설명 : 06. 합성곱 신경망 - Convolutional Neural Networks텐서플로 실습 위주 : [러닝 텐서플로]Chap04 - 합성곱 신경망 CNN 1. Convolutional Neural Network(CNN)의 역사CNN은 1989년 LeCun이 발표한 논문 “Backpropagation applied to handwritten zip code recognition”에서 처음 소개되었다.그당시에는 필기체 인식에 있어서 의미있는 결과가 나왔지만 이를 범용화 하는데에는 미흡한 단계였다.LeCun은 추후에 LeNet이라는 Network를 1998년에 제안하게 된다. 이것이 최초의 CNN이라고 할 수 있다. 2003년 B..
[텐서플로 첫걸음]이란 책을 가지고 텐서플로(Tensorflow)를 공부하면서 3장 KMeans에서 이해가 되지 않는 부분이 생겼다. 바로 Broadcasting이라는 개념인데, 한참동안 이해가 되지 않다가, 페이스북 텐서플로우 코리아 그룹에 글을 올렸다. 거기서 댓글을 달아주신 분의 도움으로 이것저것 테스트 해보니 이해가 되었다. 일단 브로드캐스팅(Broadcasting)의 개념을 살펴본 뒤 테스트 한 부분을 포스팅하도록 하겠다. 1. Broadcasting이란?Broadcast의 사전적인 의미는 '퍼뜨리다'라는 뜻이 있는데, 이와 마찬가지로 두 행렬 A, B 중 크기가 작은 행렬을 크기가 큰 행렬과 모양(shape)이 맞게끔 늘려주는 것을 의미한다. 예를 들어, 아래의 행렬처럼 (3, 3)행렬에 (1..