Artificial_Intelligence/etc(8)
-
그래서, Docker가 뭔데?
그래서, Docker가 뭔데?여러분이 컴퓨터 프로그램을 만들 때, 그 프로그램이 다른 컴퓨터에서도 잘 돌아가야 해요. 그런데 여러분이 만든 프로그램은 다른 컴퓨터에서 잘 작동하지 않을 수 있어요. 이 문제를 해결하기 위해 도커가 등장했어요! 도커는 어플리케이션을 가상화하는 컨테이너 기술의 한 형태입니다. 이 기술을 사용하면 개발 환경을 일관되게 유지하고, 어플리케이션을 확장하고 배포하는 데 많은 이점을 제공합니다. 첫째, 도커는 환경의 일관성을 보장합니다. 개발자가 동일한 환경에서 어플리케이션을 개발하고 테스트할 수 있도록 도와줍니다. 이는 "내 컴퓨터에서는 잘 됐는데"와 같은 문제를 방지하고 팀 간 협업을 더욱 효율적으로 만들어줍니다. 둘째, 도커는 확장성이 뛰어나며 효율적입니다. 각 어플리케이션은 독..
2024.05.15 -
Learning Rate Scheduler
Learning rate는 backpropagation 과정에서 모델의 weight인 gradient의 변화(업데이트의 보폭 step-size)이다. 역전파 과정에서 모델의 가중치(Weight)는 손실 함수의 오류 추정치를 줄이기 위해 업데이트된다. 학습률 * 추정 가중치 오류(가중치에 대한 기울기 or 전체 오류 변화) >>>> Weight 업데이트 Learning rate는 Optimizer가 Loss function의 최소값에 도달하도록 만드는 변화의 크기를 제어한다. 성능에 영향을 주는 요소인 learning rate를 잘못 설정하면 아예 학습이 안될 수도 있다. 그래서 모델 학습에서는 learning rate를 어떻게 설정할 지가 매우 중요한 요소이다. 학습률이 크면 알고리즘은 빠르게 학습함. ..
2022.05.29 -
Confusion Matrix(혼동행렬) 구현
모델의 성능을 따지는 지표는 정확도(Accuracy)만 있는 것이 아니다. Confusion Matrix은 알고리즘 및 모델의 진단,분류,판별,예측 능력을 평가하기 위하여 고안된 표로, 오류행렬(error matrix)이라고도 불리기도 한다. 성능지표로 정확도(Accuracy), 정밀도(Precision), 민감도(=재현율 Recall), F1score 등이 있으며, confusion matrix로 표현이 가능해진다. # 혼동행렬 import matplotlib.pyplot as plt my_data = [] y_pred_list = [] for data in prediction_list : for data2 in data : my_data.append(data2.item()) for data in la..
2022.04.16 -
How to use "Hugging Face"(허깅페이스) for NLP Task
허깅페이스는 Tensorflow Hub와 유사한 기능을 제공하는 곳이다. 트랜스포머를 기반으로 하는 다양한 모델들이 존재하며, 각각의 Task에 맞게 미세조정을 진행한 모델들 또한 구축되어있다. 또한, 데이터를 각 모델에 맞게 전처리하기 편리하도록 Tokenizer도 전부 구현되어있다. 그 뿐만 아니라, 학습을 위해 필요한 데이터셋도 저장되어 있어, 사용자는 그저 가져온 뒤 사용하기만 하면 된다. 즉, 허깅페이스를 사용하면 기존 학습 스크립트에서 반복되는 모든 부분을 일일이 따로 구현하지 않아도 편리하게 사용할 수 있으며, 데이터 구축부터 전처리, 모델 학습 및 결과 도출까지 매우 편리하고 효율적으로 코딩할 수 있다는 장점이 있다. 허깅페이스는 다양한 트랜스포머 모델과 학습 스크립트를 제공하는 모듈로, ..
2022.04.16 -
RNN, CNN
기존 Fullly Connected Layer와 CNN( Convolutional Neural Network)와 다른점 이미지 공간 정보를 유지한 상태로 학습이 가능하게 만든 모델 각 레이어의 입출력 데이터의 형상을 유지한다. 여러 개의 필터로 각 이미지의 특징을 추출하여 학습한다. 이미지 공간 정보를 유지하여 인접한 다른 이미지들과의 특징을 효과적으로 인식한다. 필터는 공유 파라미터이기에 기존 신경망보다 학습에 사용되는 파라미터가 적다. 컨브넷은 지역적이고 평행 이동으로 변하지 않는 특성을 학습함. CNN의 구조 이미지의 특징을 추출하는 부분인 Convolution Layer와 Pooling Layer, 클래스를 분류하는 Flatten Layer 부분으로 이루어져 마지막 Fully Connected N..
2021.06.12 -
Artificial Intelligence
optimizer, loss, metrics Optimizer는 학습 진행을 결정하는 방식으로 가중치를 어느 정도로 이동할 것인지를 결정하는 방법이다. Loss Function을 기반으로 네트워크가 어떻게 업데이트될건지 설정하고, 네트워크를 구성하는 알고리즘을 최적화 시킨다. 옵티마이저에는 Adam, RMSprop, SGD 등이 있다. Loss Function은 예측값과 실제값간의 차이를 표현한 수식으로, 학습에 사용되는 오차값인 피드백 신호를 정의하는 함수이며, 훈련을 하는 동안에 최소화가 될 값을 뜻한다. 주어진 문제에 대한 성공지표라고 말한다. 로스에는 binary_crossentropy, categorical_crossentropy 등이 있다. Metrics는 실제 화면상에 출력되는 값을 표현하는..
2021.04.23 -
Dataset 및 데이터전처리 기초 2021.03.19
-
[python] 정규분포
그래프를 그리기 위한 matplotlib 라이브러리. import matplotlib.pyplot as plt import numpy as np r = np.random.rand(1000) #r 배열안에 0부터 1사이의 값으로 천개넣음. plt.hist(r) #히스토리그램으로 표시 plt.grid() #그리드 그림. 위의 rand는 무작위 이지만 아래의 normal은 정규분포 (가우시안 분포)로 값을 생성한다. 따라서 평균과 표준편차를 정해줄수있다. rn = np.random.normal(0,1,1000) #평균=0, 표준편차 =1, 무작위값. plt.hist(rn) plt.grid() #rn seed 를 사용하면 동일한 랜덤값을 만들 수 있음. random은 아무런 규칙 없이 무작위로 만드는 것 같지만..
2021.01.27