전체 글 212

[Python] 딥러닝 학습 속도 문제와 최적화

딥러닝 학습의 문제점 데이터가 많아지면서 실질적인 한계에서 학습 시간이 기하급수적으로 증가하였고, 데이터 또한 수가 많아지면서 복잡해지는 문제가 생김 학습 속도 문제 데이터의 개수가 폭발적으로 증가하여 딥러닝 모델 학습 시 소요되는 시간도 함께 증가 기울기 소실 문제 더 깊고 더 넓은 망을 학습시키는 과정에서 출력값과 멀어질 수록 학습이 잘 안되는 현상 발생 역전파는 미분을 하면서 기울기가 소실된다는 것은0에 가까운 역전파가 예를 들어 0.1 * 0.1 이면 점점 0으로 수렴하게되고, 이에 가까운 파라미터 들은 잘 학습을 하지 못하게 되는 문제가 있음 실제로 찾아야 되는 weight 값을 찾지 못하는 문제가 있음 초기값 설정 문제 학습시 파라미터가 많지만 무언가의 초깃값을 설정해 줘야하는데, 가장 적합한..

[Python] 딥러닝 텐서플로 모델 구현하기

데이터셋 준비하기 : Epoch와 Batch Epoch: 한 번의 epoch는 전체 데이터 셋에 대해 한 번 학습을 완료한 상태 Batch: 나눠진 데이터 셋 (보통 mini-batch라고 표현) iteration는 epoch를 나누어서 실행하는 횟수를 의미 data = np.random.sample((100,2)) labels = np.random.sample((100,1)) # numpy array로부터 데이터셋 생성 dataset = tf.data.Dataset.from_tensor_slices((data, labels)) dataset = dataset.batch(32) 딥러닝 모델 구축 텐서플로우의 딥러닝 모델을 간단하게 진행할 때 많이 사용하게 됨 하나의 layer에서 node가 몇개가 될것인..

[Python] 딥러닝 텐서플로(TensorFlow)

유연하고, 효율적이며, 확장성 있는 딥러닝 프레임워크 대형 클러스터 컴퓨터부터 스마트폰까지 다양한 디바이스에서 동작한다. 텐서 텐서는 1-D, 2-D, 3-D 데이터는 텐서로 만들어서 다차원 배열로 만들어짐 텐서(Tensor) + 플로우(Flow) 텐서는 1-D, 2-D, 3-D 데이터는 텐서로 만들어서 다차원 배열로 만들어 진다. 텐서를 통해서 여러가지 사칙연산을 진행한다고 했을 때, 이에 대한 Output을 만듬 예를 들면, Input Tensor와 Feature Flow는 output까지 가는것을 볼 수 있다. 상수텐서 value : 반환되는 상수값 shape : Tensor의 차원 dtype : 반환되는 Tensor 타입 name : 텐서 이름 import tensorflow as tf # 상수형..

[Python] 딥러닝 모델의 학습 방법

딥러닝 모델의 구성요소 각 노드가 있고, 노드는 x1, x2 등 각 차원의 값을 노드들이 표현하고 있다고 봄 다음 노드로 갈때, weight 값들이 곱해져서 각각을 곱하고 더하는 가중합을 실시 각각 레이어에 있는 가중치 계산을 해서 나오는 레이어들을 말한다. 딥러닝은 Loss function을 최소화하기 위해 최적화 알고리즘을 적용한다. loss function input과 output이 연결되는 화살표들의 의미 하고 있는게 weight값 이다. input을줄 때, 실제값이 1인데 이것을 4라고 할때, 이를 오차값이라고 한다. 개념적으로 볼때, x,y 가 있을때, 이를 선형으로 표현하고, 이를 실제 값과 예측값의 차이를 오차값이라 부르며 이를 loss값으로 쓸 수 있다. 잘 못 예측 했을때, 높은 los..

[Python] 딥러닝 다층 퍼셉트론

비 선형적인 문제 해결 Input layer와 Output layer 두가지만으로 구분을 할 수 없다는 것을 깨닫고 둘 사이에 다른 것을 넣은 것을 연구하였고, 그것이 Multilayer 퍼셉트론이 만들어 졌다. 이 사이에 NAND, OR 등을 넣고 이들을 연결하는 방식으로 구성하였다. 이것의 경우, 선을 2개 그어서 이를 표현하였는데 XOR 연산은 하나의 레이어로는 표현하는게 불가능 하지만, NAND와 OR 연산을 함께하면 구분이 가능하다는 것이다. 이를 통해 다층 퍼셉트론이 만들어 졌다.그리고 중간에 있는것을 Hidden Layer라고 하여 만들어지게 되었다. Hidden Layer가 3층 이상일때 Deep Learning단어를 사용하게 된다. Hidden Layer층이 많을 수록 표현이 강력해진다고..

[Python] 딥러닝 퍼셉트론 선형분류기

https://kdc-elice.imweb.me/ 엘리스 내일 패스, 가볍게 코딩 시작 엘리스 내일패스를 통해 파이썬, SQL을 활용한 데이터 분석부터 웹개발, R 등 핫한 개발 주제들을 쉽고 편하게 수강할 수 있습니다. kdc-elice.imweb.me 엘리스 코딩 내일패스 인공지능 과정을 수강하고 작성 퍼셉트론 선형 분류기 퍼셉트론은 간단하면서도 Powerful한 성능을 낸다. 사람의 신경계를 모티브로 가져온 모델로, 퍼셉트론이라는 작은 유닛이 모여서 인공신경망을 만들고, 사람의 지능을 따라할고 하는 인공지능을 만든다. 논리 회로의 정리 일정한 논리 연산에 의해 출력을 얻는 회로를 의미 And Gate A와 B 가 있으면 둘다 참이여야지 1이고 나머지는 0이다. OR Gate A와 B가 둘다 0이면 ..

[python] 딥러닝 퍼셉트론

https://kdc-elice.imweb.me/ 엘리스 내일 패스, 가볍게 코딩 시작 엘리스 내일패스를 통해 파이썬, SQL을 활용한 데이터 분석부터 웹개발, R 등 핫한 개발 주제들을 쉽고 편하게 수강할 수 있습니다. kdc-elice.imweb.me 엘리스 코딩 내일패스 인공지능 과정을 수강하고 작성 인공신경망 정의 딥러닝의 기본이 되는, 중심적인 개념은 인공신경망이며, Input 과 Output 사이의 안에 있는 여러가지 방법론을 표현함 Hidden layer가 인공신경망에서 가장 중요한 부분임 영감 자체는 생물학, 뉴런을 가지고 있고, activation이 되면 이를 활성화 시킴 인공 신경망의 특징 데이터가 들어가면 데이터의 회귀분석, 분류, 유의미한 패턴이 있다면 OUTPUT를 나타낸다. 이 ..