Docker Image: 파이썬 기반 머신러닝 학습용 이미지

Docker Image: 파이썬 기반 머신러닝 학습용 이미지

파이썬으로 데이터를 분석하고 머신러닝을 수행하기 위해서 필요한 환경을 Docker 이미지 ‘pyml‘을 만들어 운영하고 있습니다. 컴퓨터에 Docker가 설치되어 있다면 바로 Docker 이미지를 다운받아 사용할 수 있습니다. ‘pyml’ 더커 이미지는 주기적으로 업데이트되며 docker hub 레파지토리에서 운영됩니다. https://hub.docker.com/r/taewanme/pyml/ 이 문 ......
Docker Image: 파이썬 기반 머신러닝 학습용 이미지

Docker Image: 파이썬 기반 머신러닝 학습용 이미지

파이썬을 기반으로 머신러닝이나 딥러닝 작업을 진행할 때 가장 귀찮고 꺼려지는 작업은 기본 환경을 준비하는 과정입니다. 파이썬 기본 환경을 효과적으로 관리하기 위해서 Docker Image 형태로 PYML을 만들었습니다. PYML은 텐서플로우, 파이토치, 케라스 및 Scikit-Learn을 활용하여 데이터를 분석할 수 있는 환경이며 UI로 IPython을 사용합니다. taewanme/pyml 컨테이너 이미지 pyml 더커 이미지는 docker h ......
Machine Learning 용어집

Machine Learning 용어집

머신러닝 관련 용어를 정리합니다. 머신러닝 원문 용어의 한글 맵핑과 관련 정보를 정리합니다. A Accuracy: 정확도 분류 성능 모델 성능 지표 다중 클래스 분류에서 정확도 $\frac{#True Positive}{#Total Examples}$ 이진 분류 정확도 $\frac{#True Positive + #True Negative}{#Total Examples}$ Activation function: 활성화 함수 Adam: A ......
CNN, Convolutional Neural Network 요약

CNN, Convolutional Neural Network 요약

Fully Connected Layer1 만으로 구성된 인공 신경망의 입력 데이터는 1차원(배열) 형태로 한정됩니다. 한 장의 컬러 사진은 3차원 데이터입니다. 배치 모드에 사용되는 여러장의 사진은 4차원 데이터입니다. 사진 데이터로 전연결(FC, Fully Connected) 신경망을 학습시켜야 할 경우에, 3차원 사진 데이터를 1차원으로 평면화시켜야 합니다. 사진 데이터를 평면화 시키는 과정에서 공간 정보가 손실될 수밖에 없습니다. 결과적으 ......
신경망 W 행렬 표기법: 'ij'/'ji' 의 차이점?

신경망 W 행렬 표기법: 'ij'/'ji' 의 차이점?

제가 처음에 딥러닝을 학습할 때 가장 혼란스러웠던 것은 입력 레이어의 데이터와 가중치 W의 합 표현하는 “Z(Weighted Sum)” 수식이 문서마다 다른 것이었습니다. <식 1>. Z(Weighted Sum)을 표현하는 수식 $$ \begin{align} Z^{[l]} & = W^{[l]T}A^{[l-1]} & (1) \\ Z^{[l]} & = W^{[l]}A^{[l-1]} & ......
딥러닝 역전파 수식 행렬의 전치(Transpose) 기준?

딥러닝 역전파 수식 행렬의 전치(Transpose) 기준?

Backpropagation을 직접 구현하는 과정에서 이유 없이 갑자기 발생하는 행렬 전치(Transpose)와 관련된 의문점이 오랜 기간 절 괴롭혔습니다. Backpropagation을 하기 위해서 Cost Function을 해당 계층의 W(가중치)로 편미분 한 후, 현재 W를 수정하는 수식을 유도하는 과정에서 일부 행렬이 전치행렬로 갑자기 변경됩니다. 문제는 제가 행렬이 전치(Transpose)되는 근거와 기준을 이해할 수가 없다는 것입니다 ......
딥러닝을 위한 Norm, 노름

딥러닝을 위한 Norm, 노름

기계학습 자료에서 간혹 Norm과 관련된 수식이나 표기법을 나오면 당황스러울 때가 있습니다. 선형대수에 익숙하지 않다면 Norm이 이상하게 보일 수 있습니다. 본 문서에서는 인공신공망과 기계학습 일고리즘에서 사용되는 Norm을 이해하는 것을 목표로 최소한도의 Norm 개념을 정리합니다. 일반적으로 딥러닝에서 네트워크의 Overfitting(과적합) 문제를 해결하는 방법으로 다음과 같은 3가지 방법을 제시합니다. 더 많은 데이터를 사용할 것 C ......
Hidden Layer의 오차 계산

Hidden Layer의 오차 계산

Neural Network에서는 Forward Propagation 결과로 계산된 Output Layer 출력과 해당 입력 데이터 레이블의 차이를 계산하여 오차(손실, Error/Loss)를 계산합니다. 그리고 이 오차 최소화를 목표로 Hidden Layer들의 Weight(가중치)와 Bias(편향)를 업데이트합니다. 이렇게 딥러닝에서는 Neural Network에 데이터를 지속해서 흘려보내고, 오차를 계산한 후 Weight와 Bias를 수정하 ......
Hidden Layer의 오차 계산

Hidden Layer의 오차 계산

Neural Network에서는 Forward Propagation 결과로 계산된 Output Layer 출력과 해당 입력 데이터 레이블의 차이를 계산하여 오차(손실, Error/Loss)를 계산합니다. 그리고 이 오차 최소화를 목표로 Hidden Layer들의 Weight(가중치)와 Bias(편향)를 업데이트합니다. 이렇게 딥러닝에서는 Neural Network에 데이터를 지속해서 흘려보내고, 오차를 계산한 후 Weight와 Bias를 수정하 ......
Neural Network 표기법(Feat: Andrew NG)

Neural Network 표기법(Feat: Andrew NG)

그림 1: Neural Network 예제 Neural Network에 대한 Forward Propagation, Backpropagation, predict, Cost Function 등을 정리할 때 뉴럴 네트워크의 구성 요소와 각 위치가 혼동되어 어려움을 겪는 경우가 많습니다. Coursera에서 deeplearning.ai가 진행하는 Neural Networks and Deep Learning 강의에서 Neural Network 표기 ......
tanh 미분 정리

tanh 미분 정리

Hyperbolic Tangent(tanh) 함수는 Sigmoid의 대체제로 사용될 수 있는 활성화 함수입니다. Hyperbolic Tangent(tanh)는 Sigmoid와 매우 유사합니다. 실제로, Hyperbolic Tangent 함수는 확장 된 시그모이드 함수입니다. tanh와 Sigmoid의 차이점은 Sigmoid의 출력 범위가 0에서 1 사이인 반면 tanh와 출력 범위는 -1에서 1사이라는 점입니다. Sigmoid와 비교하여 tan ......
Sigmoid 함수 미분 정리

Sigmoid 함수 미분 정리

Sigmoid 함수는 S자와 유사한 완만한 시그모이드 커브 형태를 보이는 함수입니다. Sigmoid는 대표적인 Logistic 함수입니다. Sigmoid 함수는 모든 실수 입력 값을 0보다 크고 1보다 작은 미분 가능한 수로 변환하는 특징을 갖습니다. 모든 입력에 대하여 sigmoid는 S와 같은 형태로 미분 가능한 0~1 사이의 값을 반환하기에 Logistic Classification과 같은 분류 문제의 가설과 비용 함수(Cost Funct ......