-
Recognizing Images | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2023. 11. 14. 21:50
앞서서 Neural Network를 이용해서 Classification하는 방법에 대해 알아봤다. 그렇다면 이 아이디어를 Image를 이용한 Computer Vision에 어떻게 적용할 수 있을까?
Face Recognition을 개발하는 중 이라면, 다음과 같은 작업이 필요하다. 먼저, 아래와 같이 어떤 인물(?)의 이미지를 데이터화하는게 필요하다. 아래 이미지를 보자.
비를 맞고있는 피카츄이다. 이 그림이 만약 1000 pixel x 1000 pixel 이라고 한다면, 이는 아래와 같은 테이블에 숫자로 나타낼 수 있다.
197 126 134 ... 57 64 203 121 ... 35 172 ... ... ... ... ... 2D Integer Array에 각 픽셀의 밝기를 저장해서 이미지를 숫자화 할 수 있다. 이 2D를 위에서부터 아래로 펼치면 아래와 같은 벡터가 생성된다. 이 벡터는 1000 x 1000 = 1,000,000 즉, 1백만개의 값을 가진 벡터가 된다.
[197 126 134 ... 57 64 203 121 ... 35 172 ...]
이 정보를 가지고 Neural Network를 설계하면 다음과 같다. (위 벡터를 x 라고 표기하겠다)
input layer -> hidden layer 1 -> hidden layer 2 -> hidden layer 3 -> output layer x o o o o o o ... ... ... o o o o o
layer와 각 layer당 neuron(또는 node)의 갯수는 다르겠지만 위와 같은 형태의 Neural Network를 이룰것이다. 그리고 마지막 output layer에서는 '어떤 인물/포켓몬'일 확률(probability)를 출력해 낼 것이다.
수많은 뉴런들은 각자가 맡은 임무를 열심히 해낼것이다. 예를 들어, hidden layer 1의 첫번째 뉴런은 (어쩌면) 낮은 수직선이나 수직선이 있는 가장자리등을 찾고있을지도 모른다. 또는 해당 레이어의 3번째 뉴런은 어떤 선의 방향을 찾고있을수도 있다. 다음 layer에서는 얼굴의 일부를 찾기 위해서 특정 위치에서 눈의 위치를 찾거나, 어떤 뉴런을 코를, 어떤 뉴런을 입을 찾고있을 수 있다. 그다음 마지막 hidden layer에서는 더 큰, 얼굴 모향이나 특성 집합에 대한 탐지를 하고 있을 수 있다. 여기서, 어떤 누구도 "첫번째 layer에서는 선을 찾고, 두번째 layer에서는 눈, 코, 입등을 비교하고, 세번째 layer에서는 전체적인 얼굴 특징이나 모양을 비교해" 라고 명령하지 않는다. 이 모든것을 Neural Network가 알아서 알아내고, 스스로 깨우쳐 갔을 뿐이다.
이 방법을 자동차에 적용해도 동일하다. 먼저 아주 작은 픽셀 그룹에서 선을 비교하고, 바퀴, 전면부, 트렁크등을 비교한 후, 전체적인 모양을 비교하는 layer들을 Neural Network가 스스로 판단해서 계산하게 될 것 이다.
Reference
Advanced Learning Algorithms
In the second course of the Machine Learning Specialization, you will: • Build and train a neural network with TensorFlow to perform multi-class ... 무료로 등록하십시오.
www.coursera.org
'Machine Learning > Stanford ML Specialization' 카테고리의 다른 글
More Complex Neural Networks | Advanced Learning Algorithm (1) 2024.01.27 Neural Network Layer | Advanced Learning Algorithm (1) 2024.01.27 Demand Prediction | Advanced Learning Algorithm (1) 2023.11.14 Neurons and the brain (뉴런과 뇌) | Advanced Learning Algorithms (0) 2023.11.13 Regularized Linear Regression(정규화 선형 회귀) | Supervised Machine Learning: Regression and Classification (0) 2023.11.07