본문 바로가기

AI33

[AI] 전이학습 | Cifar10 | MobileNetV2 안녕하세요! Foxy현입니다 오늘은 내가 직접 모델을 작성하는 것이 아닌, 공개된 모델을 가져와 사용하는 전이 학습(Transfer Learning)에 대해 알아보겠습니다 먼저 Transfer Learning(전이학습)이란 나의 데이터를 학습시키기 위해 공개된 모델을 가져와 일부만 수정하여 학습시키는 것을 말합니다. 그런다고 모든 데이터를 내가 원하는 모델을 사용하여 학습시킬 수 있는 것은 아니고, 최대한 나의 데이터와 공개된 모델에 사용된 데이터와 유사한 데이터를 사용하는 것이 좋습니다 즉, 이미 학습된 모델에서 일부 Layer(weight)만 가져와 학습하는 것을 말합니다. 일반적으로 다음과 같은 과정을 거칩니다 학습된 기존 모델의 layers를 가져오기 Transfer learning 과정에서 기존.. 2022. 11. 23.
[AI] MNIST 데이터 사용하여 신경망 배우기 안녕하세요! 오늘은 딥러닝계의 Hello World와 같은 MNIST 데이터를 사용하여 신경망에 대해 공부해보겠습니다. MNIST 데이터셋은 넘파이 배열 형태로 케라스에 저장이 되어 있습니다. import tensorflow as tf (train_X,train_Y),(test_X,test_Y) = tf.keras.datasets.mnist.load_data() train_X와 train_Y로 훈련 세트를 구성하며, test_X와 test_Y로 테스트 세트를 구성합니다. 데이터를 살펴볼까요? print(train_X.shape) # (60000,28,28) print(len(train_X),len(test_X)) # (60000,10000) plt.imshow(train_X[0],cmap='gray') .. 2022. 11. 7.
[AI] Perceptron 퍼셉트론은 다수의 신호를 입력 받아 하나의 신호를 출력합니다. 입력에 상수(가중치)를 곱해 전부 더한 값이 특정 값보다 크면 1, 아니면 0을 출력합니다. 여기서 특정 값은 임계값이라고 하며, theta로 나타냅니다. 위 내용을 아래로 나타내면 다음과 같습니다. 퍼셉트론은 입력 신호 각각에 고유한 가중치를 부여합니다. 가중치가 클수록 해당 신호가 그만큼 더 중요함을 나타냅니다. 그럼 퍼셉트론을 활용한 간단한 문제를 살펴보겠습니다. 위에서 퍼셉트론은 다수의 입력을 받아 하나의 신호를 출력한다고 했죠? AND 게이트를 예로 들면 2개 이상의 입력을 받아 하나의 출력값을 결정해줍니다. 이를 위해 할 일은 진리표대로 작동하는 x1,x2,theta의 값을 정하는 것입니다. 다음과 같은 그림을 파이썬으로 구현해보겠.. 2022. 11. 7.
[AI] K-Nearest Neighbors 직접 구현 K-Nearest Neighbor은 대표적인 분류 알고리즘입니다. 유사한 속성을 가진 데이터는 유사한 그룹에 속한다는 아이디어로 사용합니다. 위의 그림을 보면 모든 데이터는 1,2,3이라는 각각 다른 색상으로 분류되어있다. 하지만 새로 입력한 저 빨간 점에 대한 분류는 어떻게 하는 것일까? 이에 KNN이라는 알고리즘을 도입하게 됐는데, 간단히 요점을 나열하자면 유사한 데이터들끼리의 거리는 비교적 가깝다. 분류를 알 수 없는 새로운 데이터는 가장 가까운 이웃 k개의 분류를 확인하여 vote 한다 k의 개수가 너무 작으면 과대적합이 일어날 수 있다 k의 개수가 너무 많으면 과소적합이 일어날 수 있다 필요한 라이브러리 불러오기 import numpy as np import matplotlib.pyplot as.. 2022. 10. 19.