전체 글
-
keras-3 reuter딥러닝/keras 2023. 5. 29. 12:43
1. 파이썬 from keras.datasets import reuters (train_data, train_labels),(test_data, test_labels) = reuters.load_data(num_words=10000) 로이터 데이터셋에서 가장 자주 등장하는 단어 10000개를 불러오고 훈련데이터와 테스트 데이터로 나눈다. print(train_data.shape) print(test_data.shape) (8982,) (2246,) 데이터의 모양을 확인한다. import numpy as np def vectorize_sequences(sequences, dimension=10000): results = np.zeros((len(sequences), dimension)) for i, seq..
-
딥러닝- 최적화딥러닝 2023. 5. 23. 19:01
1. 최적화(optimizer) 모델의 효과를 높이기 위하여 가중치의 미분을 계산하고 적합한 가중치 값으로 갱신하는 과정을 반복한다. 이 가중치의 기울기를 기반으로 최적의 값을 찾아가는 것을 optimizer라고 한다. 최적화에서 중요한 것은 한 번에 얼마나 이동할지를 정하는 학습률이다. 학습률이 낮다면 매우 느리게 움직인다. 특히 평탄한 지역에서는 학습속도가 매우 느려지며 기울기가 매우 낮다면 학습이 더 이상 진행되지 않을 수도 있다. 반대로 학습률이 높다면 최솟값이 있는 지점을 임의로 건너뛰거나 로컬 미니멈에서 멈출 수 있다. 따라서 더욱 학습시간을 줄이고 글로벌 맥시멈을 정확하게 찾아내기 위해서 관성 법칙을 이용하는 모멘텀, 스탭사이즈를 키운 adagard 등 다양한 옵티마이저가 생겨났다. 2. 역..
-
딥러닝- 손실함수딥러닝 2023. 5. 23. 18:35
1. 손실 함수(loss function) 딥러닝의 목적은 바로 최적의 가중치를 찾는 것이다. 처음 임의 모델에 대하여 학습을 진행할 때 우리는 정확도가 높을지 또는 모델이 과적합될지 모른다. 따라서 그 패턴을 찾기 위하여 최적의 가중치를 찾아서 모델을 만들어야 한다. 손실 함수는 실제 값과 예측 값의 오차이다. 오차가 클수록 손실함수가 커지며 작을수록 손실함수가 작아지며 손실함수를 줄이는 것이 목표이다. 2. Binary cross entropy cross entropy는 분류 모델에 사용한다. 엔트로피는 불확실성을 나타낸다. 예측하기 어려운 사건일수록 정보량이 많아지고 엔트로피가 커진다. Binary cross entropy는 이진 분류를 위한 손실 함수이다. 3. Categorical cross e..
-
keras-2 imdb딥러닝/keras 2023. 5. 23. 17:20
1. python from keras.datasets import imdb (train_data,train_labels),(test_data,test_labels) = imdb.load_data(num_words=10000) 케라스에 있는 imdb 데이터셋을 불러온다. train_data.shape (25000,) train_labels[0:5] array([1, 0, 0, 1, 0]) max([max(sequence) for sequence in train_data]) 9999 데이터가 두 가지로 나뉘어 있고 25000개의 훈련 데이터를 가지고 있다. import numpy as np def vectorize_sequences(sequences, dimension=10000): result = np.z..
-
keras-1 mnist딥러닝/keras 2023. 5. 23. 16:47
1. python import keras keras.__version__ 2.12.0 케라스를 불러온다. from keras.datasets import mnist (train_images,train_labels),(test_images,test_labels) = mnist.load_data() train_images.shape (60000, 28, 28) test_images.shape (10000, 28, 28) 케라스에 내장된 손글씨 데이터인 mnist를 불러온다. import matplotlib.pyplot as plt digit = train_images[4] plt.imshow(digit, cmap=plt.cm.binary) 숫자[4]를 그릴 수 있다. from keras import mode..
-
딥러닝 - 활성화함수딥러닝 2023. 5. 23. 16:12
1. 활성화 함수 활성화 함수란 입력된 데이터의 가중 합을 출력신호로 변환하는 함수이다. 즉 가중치를 계산한 퍼셉트론의 마지막 단계에 위치하고 있는 것이다. 활성화 함수는 은닉층에서 비선형 함수여야 한다. 인공 신경망의 능력을 높이기 위해서는 은닉층을 계속해서 쌓아야 한다. 하지만 활성화 함수를 선형함수로 추가할 경우 가중치가 생기지만 계속해서 값을 곱하는 것이기 때문에 결국 한번 추가한 것과 차이가 없다. 또한 입력에 이상치가 존재하는 경우 분류가 불가능해진다. 2. 시그모이드 함수 기본적으로 시그모이드 함수는 0에서 1 사이의 값을 연속적으로 반환하는 함수이다. 계단함수의 0과 1의 이진값만을 반환한다는 단점을 보완한 함수이다. 하지만 시그모이드 함수는 치명적인 문제로 기울기 소실이 있다. 1. 시그..
-
딥러닝딥러닝 2023. 5. 21. 15:00
1. 딥 러닝 딥러닝은 머신 러닝의 한 알고리즘으로, 인공 신경망을 사용하여 기계를 학습시키는 것이다. 2. cpu vs gpu gpu는 비디오, 즉 픽셀로 이루어진 영상을 처리하는 용도로 탄생했다. 대표적으로 nvidia에서 개발한 gpu 개발 툴 cuda를 많은 개발자들이 딥러닝을 위해서 사용하기 시작하였다. gpu는 cpu의 코어 개수가 8~16개인데 비해 몇천 개 이상이므로 반복적이고 비슷한, 대량의 연산을 수행하며 이를 병렬적으로 나누어 작업하기 때문에 속도가 빠르고 수백 개의 인공 신경망을 학습할 수 있게 되는 것이다. 따라서 단순한 행렬연산이 많이 필요한 딥러닝을 위해서 gpu가 사용되고 신경망을 사용하지 않는 일반적인 머신러닝의 속도는 cpu의 처리속도가 빠를 것이다. 3. 신경망 nura..
-
docker-9 kubernetes 5 service클라우드/docker 2023. 5. 12. 22:08
1. service 파드는 언제든지 생성되고 삭제되기 때문에 고유 ip를 부여한다면 관리할 수 없을 것이다. 따라서 각 파드의 ip가 아닌 서비스를 통해서 파드에 접근해야 한다. 서비스는 고정된 ip를 가지며 하나 또는 여러 개의 파드와 매칭한다. 즉 가상 네트워크나 공유기처럼 ip를 재분배해준다. 서비스에 접근하면 그 서비스와 매칭된 파드들에 접근할 수 있다. 서비스는 클러스터 외부로부터 요청을 받을 수 있게 ip를 노출하는 역할을 하는 리소스다. Deployment로 Pod를 수평확장하는 상황에, 트래픽을 적절히 분산시킨다. 2. 서비스 종류 1. clusterip(기본) 클러스터 내부에서만 접근할 수 있다. 2. nodeport 외부에서 노드로 들어오는 요청을 감지하여 파드로 트래픽을 전달한다. 3..