데이터를 구문 분석하고 해당 데이터를 통해 학습한 후 정보를 바탕으로 결정을 내리기 위해 학습한 내용을 적용하는 알고리즘
'머신 러닝' 이 가능하다는 말은 주어진 데이터로 기능을 수행하고, 시간이 지남에 따라 그 기능이 점차 향상됨을 의미합니다. 예를 들어 "어두워"라고 말할 때마다 불이 켜지는 손전등이 '어둠'이라는 단어가 포함된 다른 구절을 인식하는 것입니다.
실질적으로 딥 러닝은 머신 러닝의 하위 개념입니다. 기본 머신 러닝 모델은 그 기능이 무엇이든 점진적으로 향상되는데, 여전히 약간의 안내가 필요합니다. AI 알고리즘이 부정확한 예측을 반환하면 엔지니어가 개입하여 조정해야 합니다. 반면, 딥 러닝 모델을 사용하면 알고리즘이 자체 신경망을 통해 예측의 정확성 여부를 스스로 판단할 수 있습니다.
손전등의 예로 돌아가 보겠습니다. 누군가 '어둠'이라는 단어를 말하는 소리 신호를 인식할 때 불이 켜지도록 손전등을 프로그래밍할 수 있습니다. 이를 계속 학습하면서 그 단어가 포함된 구절을 인식하면 결국 불을 켤 수 있습니다. 손전등에 딥 러닝 모델이 있다면 “안 보여” 또는 “스위치가 안 켜져”라는 신호가 있을 때, 어쩌면 빛 센서와 함께 불을 켜야 한다는 것을 이해하게 될 수 있습니다. 딥 러닝 모델은 자체적인 컴퓨팅 방법, 즉 자체적인 두뇌가 있는 것처럼 보이는 기술을 통해 학습할 수 있습니다.
딥 러닝 모델은 인간이 결론을 내리는 방식과 유사한 논리 구조를 사용하여 데이터를 지속적으로 분석하도록 설계되었습니다. 이를 달성하기 위해 딥 러닝 애플리케이션은 인공 신경망이라는 계층화된 알고리즘 구조를 사용합니다. 인공 신경망의 설계는 인간 두뇌의 생물학적 신경망에서 영감을 얻어, 표준 머신 러닝 모델보다 훨씬 더 뛰어난 학습 프로세스를 제공합니다.
둘 사이의 차이점을 요약하자면 다음과 같습니다.
머신러닝은 크게 지도학습, 비지도학습, 강화학습으로 분류할 수 있다.
Label을 달아 학습시킨다. (정답 미리 학습)
라벨링없이 스스로 데이터를 비슷한 것끼리 묶어 구분하고, 훈련하여 학습한다.
행동에 따라 보상을 주고, 그 보상이 최대화 될 수 있도록 학습한다.
from tensorflow import keras
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
import matplotlib.pyplot as plt
for i in range(0,10): # 0~9까지
plt.imshow(x_test[i]) # x_test 데이터를 이미지화해서 불러옴
plt.show()
cf. 흑백으로 불러오기
for i in range(0,10):
plt.imshow(x_test[i], cmap='gray')
plt.show()
import numpy as np
y_pred = [7, 2, 1, 0, 4, 1, 4, 9, 5, 9]
np.savetxt('y_pred.csv', y_pred, fmt='%d') # 파일명, 저장할 변수, fmt는 데이터 형태