# Neural Network Training(신경망 학습)

신경망 트레이닝은 다음의 일반적 방법으로 수행됩니다.

1. 트레이닝에 이용되는 이미지 Set(트레이닝 Set 대화 상자에서 정의됨)의 각 이미지는 지정된 feature 크기를 이용해 전체 범위에서 샘플링됩니다.
2. 그 결과의 샘플이 Deep Learning의 딥 신경망에 input됩니다.
3. 각 샘플마다, 신경망은 특정 응답(도구 유형에 따라 다름)을 생성하며, 이 응답은 트레이닝 이미지 내 샘플의 위치에 연결된 이미지 라벨과 비교됩니다.
4. 샘플이 프로세싱되고 다시 프로세싱되면서 네트워크 내의 최초 가중치는 반복적으로 조정됩니다. 네트워크 트레이닝 시스템은 지속적으로 네트워크 가중치를 조정하는데, 목표는 네트워크의 응답과 사용자가 제공한 라벨 간의 오류(차이 또는 격차)를 줄이는 것입니다.
5. 전체 프로세스는, 모든 트레이닝 이미지의 모든 샘플이 Epoch 횟수에 지정된 횟수 이상 포함될 때까지, 여러 번 반복됩니다.

1 | 샘플링 영역.
2 | 사용자가 작성한, 라벨이 지정된 결함 영역.
3 | 신경망.
4 | 네트워크의 응답.
5 | 라벨링 된 결함 (노란색)과 네트워크 응답 (파란색) 간의 불일치. 즉, 오류를 줄이기 위해 가중치를 조정하는 반복 프로세스입니다.

신경망 학습의 구체적인 특징은 트레이닝 중인 도구 유형에 따라 다릅니다.

- Blue 위치 도구 네트워크 트레이닝

  Blue 위치 도구 네트워크는 이미지 안의 feature를 찾고 식별하도록 트레이닝됩니다. 사용자가 수행한 Blue 도구 라벨은 이미지 내에서, 관심 대상인 모든 feature의 위치와 ID를 식별합니다. 이미지 내의 주어진 샘플링 영역에 대한 트레이닝의 목표는, 네트워크가 해당 샘플링 영역에 있는 모든 feature의 pose를 정확하게 반환하는 것입니다. 샘플링 영역에 feature가 포함되어 있지 않다면, 네트워크는 해당 샘플에 대해 아무런 응답을 생성하지 않을 것입니다.

  Blue 위치 도구 네트워크 트레이닝의 목표는 사용자의 이미지 라벨에 의해 정의된 실제 feature pose 및 ID와 검출된 pose 및 ID 간의 차이를 줄이는 것입니다.

- Blue 읽기 도구 네트워크 트레이닝

  Blue 읽기 도구는 Blue 위치 도구와 유사한 접근법을 이용하지만, pose 불일치에는 관심이 적습니다.

- Red 분석 도구(지도 모드) 네트워크 트레이닝

  Red 분석 도구(지도 모드) 네트워크는 이미지 안의 결함을 찾고 식별하도록 트레이닝됩니다. 사용자가 지도 모드의 Red 분석 도구 라벨 지정 작업을 하면, 라벨이 지정된 이미지 내의 모든 결함 픽셀에 라벨을 지정합니다. 이미지 내의 주어진 샘플링 영역에 대한 트레이닝의 목표는 네트워크가 결함 픽셀을 결함으로 정확하게 식별하는 것입니다. 샘플링 영역에 결함 픽셀이 포함되어 있지 않다면, 네트워크는 아무런 응답을 생성하지 않을 것입니다.

  지도 모드에서 Red 분석 도구의 네트워크 트레이닝 목적은 결함으로 지정된 라벨과 검출된 결함 사이의 공간적 차이를 줄이는 것입니다.

- Red 분석 도구(비지도 모드) 네트워크 트레이닝

  Red 분석 도구(비지도 모드) 네트워크는 이미지 안의 결함 영역을 찾도록 트레이닝됩니다. 비지도 모드에서 Red 분석 도구의 트레이닝 이미지 Set는 결함이 없는 것으로 알려진 이미지의 Set입니다. 트레이닝의 목표는 단순합니다. 트레이닝 이미지 Set의 모든 샘플에 대해 아무 응답도 생성하지 않는 네트워크를 만드는 것입니다.

- Green 분류 도구 네트워크 트레이닝

  Green 분류 도구는 Deep Learning 도구 중에서도 독특하게 전체 input 이미지에 대해 단일 결과를 만들어냅니다. Green 분류 도구에는 High Detail 모드 및 Focused 모드가 있습니다. 이 도구는 다른 도구와 같은 방식으로 이미지 샘플을 수집하지만, 프로세싱 중에 샘플이 통합되며 전체 이미지에 대해 단일의 결과가 나옵니다.

  Green 분류 도구 네트워크 트레이닝의 목표는 라벨이 지정된 클래스와 검출된 클래스 간의 불일치를 줄이는 것입니다.

- 네트워크 트레이닝 제어

  사용자가 네트워크 트레이닝 단계에 영향을 주기 위해 할 수 있는 가장 큰 일은 트레이닝 이미지 Set의 구성입니다. 모든 도구의 기본 행태는 이미지 Set에서 무작위로 선택한 이미지 50%를 이용해 트레이닝하는 것입니다.