본문 바로가기

AI

개발자를 위한 머신러닝 & 딥러닝 - 컴퓨터 비전

1. 컴퓨터 비전이란?

  • 컴퓨터의 눈이 되는 것. 즉 컴퓨터가 시각 데이터를 처리할 수 있게 도와준다!

 

2. 컴퓨터 비전을 위한 신경망

traning_images /= 255.0
test_images /= 255.0 #Normalization

model = keras.Sequential([
		keras.layers.Flatten(input_shape = (28, 28)),
    	keras.layers.Dense(128, activation = tf.nn.relu),
    	keras.layers.Dense(10, activation = tf.nn.softmax)
])

 

  • Dense: 뉴런의 층. 여기서는 임의로 128개의 뉴런을 지정했다. 여기서 입력과 출력 사이에 위치해서 밖에서는 보이지 않으므로 '은닉 층'이라 한다.
  • Hyperparameter-tuning: 적절한 값을 선택하는 과정
  • Activation Function: 층의 각 뉴런에 적용되는 함수로 ReLU, Sigmoid, Sign 등등의 함수가 있으나 여기서는 ReLU를 사용. 비선형 함수로, 식은 ReLU(x) = max(x, 0)이다.
  • Output layer: 클래스가 10개이므로(이미지의 종류가 10개이다.) 10개의 뉴런을 사용. 각 뉴런은 입력의 픽셀이 해당 클래스에 속할 확률을 출력 → 즉 가장 높은 값을 가진 뉴런을 찾아야 한다. → loop보다는 softmax 함수 사용! 
  • Normalization: 정규화. 각 픽셀을 0에서 1의 값으로 나타내기 위해 255를 나누는 과정
  • sparse categorical cross entropy: 손실 함수(모델이 예측한 값과 실제 값의 차이를 출력하는 함수) 중 하나.