신경망 학습

모든 뷰가 정확하게 라벨링되었으며 학습 이미지와 테스트 이미지로 나뉜 후에, 신경망 학습은 다음 방법으로 실행됩니다:

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

 

 

  1. 샘플링 영역.

  2. 사용자가 작성한, 라벨이 지정된 결함 영역.

  3. 신경망.

  4. 네트워크의 응답.

  5. 라벨링 된 결함 (노란색)과 네트워크 응답 (파란색) 간의 불일치, 즉 오류를 줄이기 위해 가중치를 조정하는 반복 프로세스입니다.

 

신경망 학습의 구체적인 특징은 트레이닝 중인 도구 유형에 따라 다릅니다. 지도 모드에서 Red 분석 도구의 네트워크 트레이닝 목적은 결함으로 지정된 라벨과 검출된 결함 사이의 공간적 차이를 줄이는 것입니다. Red 분석 도구 High Detail 모드에서 신경망은 Red 분석 도구 Focused 지도 모드와 마찬가지로 이미지 안의 결함 영역을 찾고 식별하도록 학습됩니다. 사용자가 Red 분석 도구 High Detail에서 라벨 지정 작업을 하면, 라벨이 지정된 이미지 내의 모든 결함 픽셀에 라벨을 지정합니다.

 

  • 샘플링 영역과 샘플링 매개변수

    Red 분석 도구 Focused 지도 모드가 사용자가 정의한 샘플링 영역을 가지고 픽셀을 샘플링하는 반면, Red 분석 도구 High Detail 모드은 이미지 전체에서 샘플을 추출하기 때문에 특정한 샘플링 영역도 없고 트레이닝 시 샘플링 매개변수가 필요하지 않습니다.

  • 검증(Validation)을 활용한 트레이닝

    Red 분석 도구 High Detail 모드은 학습된 각 신경망을 검증하기 위해 validation 데이터 세트를 사용하며, 그 검증 결과를 가지고 주어진 학습 세트에서 가장 안정적이며 높은 성능을 보이는 신경망을 선택합니다.

 

도구 매개변수 설정

Deep Learning 도구를 추가하고 나면, 학습에 앞서 도구 매개변수에 액세스해 도구의 성능을 조정하고, 런타임 작업 중에 도구가 이미지를 어떻게 프로세싱할지 조정할 수 있습니다. VisionPro Deep Learning 도구 매개변수들은 신경망 모델이 트레이닝되는 과정과 도구가 통계값을 계산하는 과정을 제어합니다. 도구 매개변수들은 신경망 모델이 학습되는 과정과 도구가 통계값을 계산하는 과정을 제어합니다.

Red 분석 도구의 아키텍처 매개변수가 'High Detail'로 설정되면, 도구는 전체 이미지를 동등하게 고려하도록 구성됩니다. 이 옵션은 트레이닝 및 프로세싱 시간을 늘리더라도 정확도가 높고 픽셀 단위에서 더 미세한 수준까지 고려하는 결과를 얻고자 할 때 유용합니다. Red 분석 도구 High Detail 모드에는 4가지 타입의 도구 매개변수가 존재합니다. 더 자세한 정보는 각 매개변수 문서에서 확인할 수 있습니다. ​

Tip: 많은 경우, 매개변수 기본값 설정이 대개의 이미지 Set에 잘 적용됩니다. 최초 학습 시에는 어떤 매개변수도 조정하지 말고 학습해보십시오.

 

아키텍처 매개변수

아키텍처 매개변수는 사용할 신경망 모델 종류를 결정합니다. 이 옵션은 학습과 프로세싱이 더 오래 걸려도 더 정밀한 결과를 얻고 싶을 때 유용합니다. High Detail과 High Detail Quick 아키텍처는 도구가 이미지 전체를 동일하게 고려하는 반면, Focused 모드는 이미지에서 유용한 정보가 있는 일부분에만 집중합니다. 그러므로, Focused 모드는 네트워크가 정보를 놓칠 수 있으며, 특히 이미지 전체에서 중요한 세부 사항이 있을 경우 그 가능성이 큽니다.

 

모드 매개변수

이미지들을 산업 현장에서 매일 새롭게 캡쳐하다보면 기존 도구를 생성했던 트레이닝 이미지들 대비 달라진 이미지들을 얻을 수 있습니다. 현장에서 이렇게 변이가 생긴 이미지들을 얻을 때 Mode 매개변수를 사용하면 이 새 이미지들에 기존에 트레이닝했던 도구를 적응시킬 수 있습니다. 자세한 내용은 적응 모드: 현장 변화에 적응시키기 항목을 확인하십시오.

 

네트워크 모델 매개변수

네트워크 모델 매개변수는 트레이닝할 도구의 네트워크 크기를 고를 수 있게 합니다. 이는 트레이닝과 프로세싱에 소요되는 시간을 변경합니다. High Detail 모드에는 4가지 네트워크 매개변수가 있습니다: Small, Normal, Large, Extra Large

  • Normal 네트워크 모델(기본값)은 일반적인 프로젝트에서 흔히 사용됩니다.

  • Large 또는 Extra Large 네트워크 모델은 더 복잡한 이미지들에 대해 효과적이지만 항상 더 좋은 결과를 가져옴을 의미하지는 않습니다. 이 네트워크 모델들은 과적합 위험이 있습니다. 이 네트워크 모델들을 사용하면 트레이닝과 프로세싱 시간이 증가합니다.

Normal 네트워크 모델에서 좋지 않은 성능 (recall, precision, F1 점수)을 얻는다면, 일반적으로 Small 네트워크 모델로 변경하여 성능을 향상시키는 것을 권장합니다.

 

트레이닝 매개변수

트레이닝 도구 매개변수는 트레이닝 과정을 제어합니다. 도구를 트레이닝한 후 트레이닝 도구 매개변수를 변경한다면, 해당 트레이닝이 무효화되고 해당 도구를 다시 트레이닝해야 합니다.

매개변수 설명

Epoch 횟수

Train 이미지를 모두 이용하여 학습하는 횟수입니다. 값을 늘릴 수록 반복 횟수가 증가합니다. 1 부터 100000까지의 값을 입력할 수 있습니다.

Tip: High Detail 모드에서의 Epoch 횟수의 개념은 Focused 모드의 Epoch 횟수와 다릅니다. 이 때문에 같은 데이터베이스를 사용할 때, High Detail 모드에서는 Focused 모드보다 더 큰 Epoch 횟수를 사용하는 것이 좋습니다.

트레이닝 셋

딥러닝 모델을 생성하기 위해 바탕이 되는 데이터 셋으로, 학습 중에는 Train Set에 포함된 이미지의 특징만을 추출하여 모델이 생성됩니다.
클릭 시 등장하는 트레이닝 Set 대화 상자에서 설정할 수 있습니다.

Validation Set Ratio(Validation Set 비율)

Training set으로 지정된 이미지 중 validation set으로 사용될 이미지의 비율. 10%에서 50% 사이의 값을 입력할 수 있습니다.
동일한 수의 트레이닝 Set을 사용하면서 validation set 비율을 높이면 실제로 학습에 사용되는 데이터의 양이 줄어듭니다. 따라서, 작은 트레이닝 set을 쓸 때 높은 validation set 비율을 설정하면 성능에 부정적인 영향을 줄 수 있습니다.
반면, 지나치게 낮은 validation set을 설정하면 일반적인 데이터에 대해 좋은 성능을 내는 모델을 선택하기 어려울 수 있습니다.

모델 선택 최소 Epochs

Validation set 때문에, High Detail 모드는 과적합(Overfitting)을 막기 위해 낮은 Epoch에서 생성된 모델을 최종 결과물로 선택할 수 있습니다. 모델 선택 최소 epoch를 설정하면, High Detail 모드는 이 epoch 이후 생성 된 모델을 최종 모델로 선택합니다.
만일 트레이닝 set에서는 좋은 프로세싱 결과를 얻었지만 테스트 set에는 좋은 결과를 얻지 못했다면 오버피팅이라고 생각할 수 있습니다. 그러나 프로세싱 결과가 트레이닝 및 테스트 set 모두에서 좋지 않다면 언더피팅입니다. 이 경우 더 높은 모델 선택 최소 Epoch를 사용하는 것이 좋습니다.
입력가능한 값은 0부터 현재 epoch입니다.

Patience Epochs

매번 정해진 Epoch만큼 학습이 진행될 때마다, High Detail 모드는 모델의 loss를 측정합니다. 만약 N (Patience Epoch의 설정값) 번의 Epoch만큼 loss가 더 낮아지지 않는 경우, High Detail 모드는 학습을 중단하고 가장 낮은 loss값을 가지는 epoch에서 생성된 모델을 선택합니다. 일정 기간동안 로스가 감소하지 않아 트레이닝 과정을 진행할 필요가 없을 경우, early stopping(조기 중단)을 위해 patience epoch을 활용할 수 있습니다.
입력가능한 값은 0부터 100000입니다.

Tip:
  • 특정 Epoch 횟수를 설정하기 어렵다면, epoch 횟수를 늘리고 patience epoch을 기반으로 모델을 만들 수 있습니다.
  • 메뉴에서 도구 - Loss 검사를 선택하여 매 epoch마다 loss를 확인할 수 있습니다.
  • Loss는 학습 set이 아닌 validation set을 바탕으로 계산됩니다.

Patch Size(패치 크기)

각 뷰를 여러 조각으로 쪼개는 정사각형(패치)의 픽셀 단위 크기입니다. 각 뷰의 트레이닝(특징 발견) 및 프로세싱은 각 조각을 기반으로 실행됩니다. 일반적으로, 작은 패치 크기는 더 작고 미세한 결함을 잡는데 더 좋고, 더 큰 패치 크기는 트레이닝 수렴 속도의 측면에서 크고 명확한 결함을 잡을 때 좋습니다.
Note: Patch Size 매개변수는 오직 Expert Mode가 활성화되었을 때 사용 가능합니다. 도움말 메뉴 에서 활성화 가능합니다.

 

학습 매개변수 상세 정보: Epoch 횟수

Epoch 횟수 매개변수를 이용하면 네트워크 개선을 얼마나 할지 제어할 수 있습니다. 신경망 학습 항목에 설명된대로 학습 프로세스는 네트워크를 통해 입력 샘플을 반복적으로 처리하고 네트워크 결과를 사용자 제공 레이블과 비교 한 다음이 오류를 줄이기 위해 네트워크 가중치를 조정합니다. 네트워크 노드의 수와 이에 따른 가중치의 수가 많으므로, 이 과정은 거의 무한하게 반복되며, 각 반복 단계마다 점진적으로 오류가 개선됩니다. Epoch 횟수 매개변수 설정을 늘리면, 수행하는 트레이닝의 반복 회수가 늘어납니다. 이렇게 하면 이미지 트레이닝 시간이 늘어나는 대신 트레이닝의 네트워크 오류가 줄어듭니다.

하지만, 트레이닝에 사용되는 이미지만이 아니라 모든 이미지에 대해 정확하게 수행하는 것이 네트워크 트레이닝의 목적입니다. Epoch 횟수가 늘어나면, 네트워크는 오버피팅(VisionPro Deep Learning 용어)이 발생할 수 있는데, 이는 학습된 이미지의 오류가 줄어들면서 동시에 학습되지 않은 이미지의 오류가 늘어나는 현상입니다. 이러한 이유로, Epoch 횟수를 조정하면서 모든 이미지에 대한 네트워크 성능을 주의 깊게 지켜봐야 합니다. 데이터셋마다 최적 값이 다르고, 특히 데이터셋의 통계적 다양성에 따라 최적값이 다르기 때문에, 사용하는 데이터셋에 맞는 최적 Epoch를 선택해야 합니다.

 

학습 매개변수 상세 정보: 최소 Epochs

Validation set으로 인해, High Detail 모드는 낮은 epoch에서 생성된 모델을 최종 모델로 선택하여 오버피팅을 방지할 수 있습니다. 모델 선택 최소 epoch를 설정하면, High Detail 모드는 이 epoch 이후 생성 된 모델을 최종 모델로 선택합니다.
만일 트레이닝 set에서는 좋은 프로세싱 결과를 얻었지만 테스트 set에는 좋은 결과를 얻지 못했다면 오버피팅이라고 생각할 수 있습니다. 그러나 프로세싱 결과가 트레이닝 및 테스트 set 모두에서 좋지 않다면 언더피팅입니다. 이 경우 더 높은 모델 선택 최소 Epoch를 사용하는 것이 좋습니다.

 

학습 매개변수 상세 정보: Patience Epochs

매 1/8 epochs 마다, High Detail 모드는 모델의 로스를 측정합니다. 만일 N (Patience Epochs의 값) epoch 동안 더 낮은 로스가 나타나지 않으면, High 모드는 트레이닝을 중단하고 그 epoch 까지 가장 낮은 로스를 가진 모델을 선택합니다. 일정 기간동안 로스가 감소하지 않아 트레이닝 과정을 진행할 필요가 없을 경우, early stopping(조기 중단)을 위해 patience epoch을 활용할 수 있습니다.

Tip: 특정 Epoch 횟수를 설정하기 어렵다면, epoch 횟수를 늘리고 patience epoch을 기반으로 모델을 만들 수 있습니다.

 

트레이닝 매개변수 상세 정보: Patience Epochs와 모델 선택 최소 Epochs

VisionPro Deep Learning 2.1.1 또는 그 이하 버전에서 학습 시에 모델 선택 최소 Epochs는 Patience Epochs 보다 우선하여 적용됩니다. 이는, 현재 Epoch이 모델 선택 최소 Epochs에 다다른 이후부터 Patience Epochs이 체크되기 시작함을 뜻합니다. 이와 반대로, VisionPro Deep Learning 3.0 또는 그 이후 버전부터는 학습 시에 Patience Epochs와 모델 선택 최소 Epochs는 서로 독립적으로 적용됩니다. 그 결과, VisionPro Deep Learning 3.0 또는 그 이후 버전에서 모델 선택 최소 Epochs와 Patience Epochs는 이전 VisionPro Deep Learning 버전들과 다르게 작동합니다. 아래 예시들을 읽고 VisionPro Deep Learning 3.0에서 학습 시 Patience Epochs와 모델 선택 최소 Epochs가 어떻게 작동하는지 확인하십시오.

 

아래 모든 예시는 다음 매개변수 설정을 사용합니다:

  • Patience Epochs: 5

  • 모델 선택 최소 Epochs: 10

 

예시 1. 모델 선택 최소 Epochs와 상관없이, 도구는 현재까지 최소 loss(0.1960)가 다시 갱신되기를 바라며 5 epochs를 대기했습니다. 대기했음에도 최소 loss(0.1960)이 갱신되지 않았기 때문에, 도구는 학습을 멈추고 모델 선택 최소 Epochs보다 큰 epochs들 중에서 최소 loss를 뽑습니다. 해당하는 최소 loss는 14 epoch의 0.2135입니다.

 

 

예시 2. 모델 선택 최소 Epochs와 상관없이, 도구는 현재까지 최소 loss(0.1911)가 다시 갱신되기를 바라며 5 epochs를 대기했습니다. 비록 최소 loss(0.1911)이 대기 후에도 갱신되지 않았지만, 도구는 10 epoch까지 학습을 계속합니다. 이는 모델 선택 최소 Epochs 조건도 만족시키기 위함입니다. 도구는 epoch 10에 이르렀을 때 최소 loss를 뽑습니다. 해당하는 최소 loss는 epoch 3의 0.1911입니다.

 

 

예시 3. 모델 선택 최소 Epochs와 상관없이, 도구는 현재까지 최소 loss(0.1965)가 다시 갱신되기를 바라며 5 epochs를 대기했습니다. 대기했음에도 최소 loss(0.1965)이 갱신되지 않았기 때문에, 도구는 학습을 멈추고 모델 선택 최소 Epochs보다 큰 epochs들 중에서 최소 loss를 뽑습니다. 해당하는 최소 loss는 11 epoch의 0.2106입니다.

 

 

학습 매개변수 상세 정보: Validation Set 비율

트레이닝 set 중 validation set으로 사용될 수 있는 뷰의 개수의 비율입니다. 만일 트레이닝 set 개수를 유지하면서 validation set 비율을 늘리면, 트레이닝에 사용되는 데이터의 양은 줄어듭니다. 그래서, 적은 트레이닝 set을 사용할 때 높은 validation set 비율을 설정하면 성능에 부정적인 영향을 끼칠 수 있습니다.
반면, 너무 낮은 validation set 비율을 설정하는 것은 unseen 데이터셋에 대해 좋은 성능을 내는 모델을 선택하는데 도움이 되지 않습니다.

 

학습 매개변수 상세 정보: 패치 크기

각 뷰 여러 조각(chunk)으로 나누는 사각형의 크기. 각 뷰의 트레이닝(특징 검출)과 프로세싱은 각 chunk를 기반으로 실행됩니다. 일반적으로, 작은 패치 크기는 더 작고 미세한 결함을 잡는데 더 좋고, 더 큰 패치 크기는 트레이닝 수렴 속도의 측면에서 크고 명확한 결함을 잡을 때 좋습니다.

 

변화 매개변수

VisionPro Deep Learning 신경망은 이미지 내에서 실제로 보이는 feature만을 학습하도록 트레이닝할 수 있습니다. 이상적인 세계에서는, 트레이닝 이미지 Set가 정상적인 이미지와 부품 변동을 모두 표현할 수 있는 대표적인 이미지 Set가 될 것입니다. 하지만, 대개의 경우 대표성이 없는 이미지 Set로 트레이닝을 해야 합니다. 특히, 이미지 Set는 단기간에 수집되므로, 시간에 따른 정상적인 부품과 조명의 변동, 카메라의 광학적, 외부적 특성의 변경 또는 조정 등은 반영되지 않는 경우가 많습니다.

VisionPro Deep Learning 트레이닝 시스템에서 사용자는 다음과 같은 변화 매개변수를 이용해 실제 작업 중 예상되는 외관 변동을 지정함으로써, 이미지 Set을 보완할 수 있습니다:

  • Luminance(밝기)
  • Contrast(명암대비)
  • Rotation (회전)

 

변화 매VisionPro Deep Learning개변수를 이용하면, 도구가 인공적으로 트레이닝할 이미지를 생성하므로, 변화량이 큰 응용 프로그램의 결과를 개선할 수 있습니다. 다음 매개변수들은 모든 도구에 공통입니다. 변화 매개변수는 결합할 수도 있습니다. 이렇게 하면 매개변수를 별개로 이용하거나 결합하여 이용함으로써 더욱 복잡한 이미지를 생성할 수 있습니다.변화 매개변수들은 여러 종류를 함께 사용할 수도 있습니다. 이렇게 하면 매개변수를 별개로 이용하거나 결합하여 이용함으로써 더욱 복잡한 이미지를 생성할 수 있습니다.

Tip: 학습 세트에 런타임 중 나타날 수 있는 변동이 포함되어 있지 않다면, 변화 매개변수를 이용할 수 있습니다. 예를 들어, 부품이 +/-45도 회전할 것으로 예상된다면, 회전 매개변수를 설정할 수 있으며, 이렇게 하면 소프트웨어는 학습 중에 해당 각도만큼 이미지를 회전할 것입니다. 하지만 Cognex는 최선의 결과를 얻기 위해 실제 부품 변동의 샘플 이미지를 이용하도록 권장합니다. 부품이 회전하면, 음영이 달라지며, 인위적으로 이미지를 돌린 회전에서는 이러한 음영의 차이가 도구에 캡처되지 않기 때문입니다.
Note: 변화로는 실제 이미지를 수집하고 트레이닝하는 것을 대체할 수 없습니다. 특히, 이미지 변화는 실제 부품의 외관 또는 장면의 실제 변화를 대략적으로 나타내는 이상이 될 수 없습니다.

 

High Detail 모드는 13개의 Perturbation(변화) 옵션을 제공합니다. 생산 라인에서 실제로 발생할 수 있는 형태의 변화 옵션만을 선택적으로 활용하십시오.

변화 설명

Horizontal Flip(수평 반전)

 

가로축을 기준으로 이미지 반전을 수행합니다.
물체의 위치와 각도가 정확하게 고정되지 않는 대부분의 경우에 사용할 수 있습니다.

 

Vertical Flip(수직 반전)

 

세로축을 기준으로 이미지 반전을 수행합니다.
물체의 위치와 각도가 정확하게 고정되지 않는 대부분의 경우에 사용할 수 있습니다.

Rotation 90°(90° 회전)

 

+90° 이미지 회전을 수행합니다.
수평 반전, 수직 반전, 90° 회전 옵션을 모두 체크하면, 확률적으로 +90°, +180°, +270° 모두 랜덤하게 수행하게 됩니다.

Rotation (회전)

 

0~45° 사이의 이미지 회전도 수행합니다.
따라서, '90° 회전', ‘회전’, ‘수평 반전’, ‘수직 반전’ 4가지 옵션을 모두 적용하면 0~360° 사이의 이미지 회전이 랜덤으로 수행되는 것과 같습니다.

Contrast(명암대비)

 

모든 채널에 동일한 랜덤 값을 곱하는 방식으로 명암대비를 조정합니다. 랜덤 값은 0-2 범위에서 균등 분포를 따릅니다.
조명 조건이 일정하지 않아 사진의 명암대비가 일정하지 않게 찍히는 경우에 활용할 수 있습니다.

Luminance(밝기)

 

모든 채널에 동일한 랜덤 값을 더하는 방식으로 밝기를 조정합니다. 랜덤 값은 -255에서 255 사이에서 균등 분포를 따릅니다.
조명 조건이 일정하지 않아 사진의 밝기가 일정하지 않게 찍히는 경우에 활용할 수 있습니다.

Colorwise(컬러와이즈)

 

각 채널별로 다른 랜덤 값을 더하거나 곱하는 방식으로 색상을 조정합니다.
반드시 대비 혹은 밝기 옵션과 함께 사용되어야 합니다. 컬러와이즈 옵션은 모든 채널에 동일한 랜덤 값을 곱하거나 더했던 대비와 밝기 옵션을 각 채널별로 다른 랜덤 값을 곱하거나 더하도록 변경하는 방식으로 적용됩니다.
조명 조건이 일정하지 않아 사진의 색상이 일정하지 않게 찍히는 경우에 활용할 수 있습니다.

Gradation(그라데이션)

 

랜덤하게 이미지의 그라데이션(계조)을 조정하게 됩니다.
조명 조건이 일정하지 않아 사진의 그라데이션이 일정하지 않게 찍히는 경우에 활용할 수 있습니다.

Zoom-In(줌 인)

 

뷰의 중앙을 기준으로 랜덤하게 확대합니다. 최대로 확대할 경우 원본의 5/6배까지 확대합니다. 랜덤 변수는 1배–5/6배 범위에서 균등 분포를 따릅니다.
검출해야 할 불량의 제품 사이즈가 제각각 인 경우에 활용할 수 있습니다.

Sharpen(선명화)

 

이미지 필터링을 통해 0 – 2 범위에서 뷰를 선명하게 만듭니다.
이미지 초점이 잘 안 맞아 사진이 너무 흐리게 찍히는 경우에 활용할 수 있습니다.

Blur(블러)

 

뷰에 랜덤하게 가우시안 블러를 적용합니다. 랜덤 변수는 가우시안 0-2 범위에서 가우시안 시그마 분포를 따릅니다.
이미지 초점이 잘 안 맞아 사진이 너무 선명하게 찍히는 경우에 활용할 수 있습니다

Distortion(왜곡)

 

뷰 상에서 임의로 점을 지정하고 이 점들을 이동시킨 모양으로 이미지 왜곡을 적용합니다. 점의 개수는 6개 이하입니다.
광학장비의 노후화로 인해 이미지가 왜곡되는 경우에 활용할 수 있습니다.

Noise(노이즈)

 

각 픽셀의 모든 채널에 랜덤 값을 곱하는 방식으로 노이즈를 적용합니다. 랜덤 값은 0-2 범위에서 균등 분포를 따릅니다.
광학장비의 노후화로 인해 이미지가 왜곡되거나 먼지가 끼는 경우에 활용할 수 있습니다.

Note: 모든 트레이닝 이미지는 변화 적용 대상이 됩니다. 모든 트레이닝 이미지들은 체크된 각각의 변화 항목들이 독립적으로 50%의 확률로 적용됩니다.
대수의 법칙에 의해, epoch를 늘리면 모든 변화 옵션들은 균등하게 적용되어 학습할 수 있습니다.

 

마지막으로 사용한 매개변수 복원: 매개변수 복원

매개변수 복원 버튼은 도구 파라미터 값을 마지막 트레이닝 작업에서 선택했던 값으로 쉽게 되돌릴 수 있도록 설계되었습니다. 마지막 트레이닝 시 사용된 도구 파라미터의 값을 기억합니다. 값을 변경하고 이 변경 사항을 되돌리려면 버튼을 클릭하여 마지막 트레이닝 시 사용된 도구 파라미터 값으로 돌아갈 수 있습니다. 다만, 도구를 트레이닝 한 적이 없거나 도구 파라미터 값의 초기 세팅에서 변경 사항이 없으면 비활성화 상태로 유지됩니다.

다음은 매개변수 복원의 작동 방식을 설명합니다:

  1. 현재 도구가 트레이닝 되지 않은 경우에는 매개변수 복원 버튼은 비활성화 상태로 유지됩니다.

  2. 현재의 도구가 학습이 이루어지고, 파라미터의 값을 변경하면 버튼이 활성화됩니다. 파라미터 원복의 체크 포인트가 마지막 트레이닝 시의 파라미터 값으로 설정됩니다.

  3. 매개변수 복원 버튼을 클릭하면 변경된 파라미터는 체크 포인트 값으로 되돌아 갑니다.

  4. 파라미터를 일부 변경하여 현재 도구를 다시 트레이닝 하면, 파리미터 원복의 체크 포인트가 변경된 트레이닝 값으로 업데이트됩니다. 다시 말하면, 도구 매개 변수의 값을 다시 변경하지 않으면 버튼이 비활성화됩니다.

  5. 다른 변경을 한 후 매개변수 복원 버튼을 다시 클릭하면 변경된 값이 업데이트 된 체크 포인트 값으로 되돌아 갑니다.

프로세싱 파라미터의 값을 변경한 후 트레이닝한 도구를 다시 프로세싱(만)하면 파라미터 원복의 체크 포인트가 업데이트되지 않으므로 매개 변수 복원이 활성화됩니다. 체크 포인트는 트레이닝이 완료된 후에만 업데이트됩니다.

비 활성화

활성화

Note: 마지막 트레이닝 시의 값으로 복원할 수 없는 파라미터는 다음과 같습니다.
  1. 변경하면 도구가 리셋되는 비가역적 파라미터

    1. 네트워크 모델, 배타적, Feature 크기, 마스킹 모드, 컬러, 원형대칭, 스케일 변화, S스케일 변화 모드 (균일/비균일), 레거시 모드, 방향, 디테일

  2. 본질상 이 매개변수들은 비가역적임

    1. 낮은 Precision, Simple Regions

  3. 기타 비가역적 매개변수들

    1. 트레이닝 Set, Green 분류 High Detail 및 Green 분류 도구 High Detail Quick 모드의 히트맵 (이 파라미터는 성능에 영향을 주지 않음)

    2. 읽기 도구에서 마스킹 모드의 Overlay 파라미터

Note: High Detail 모드들(Green 분류, Red 분석)과 High Detail Quick 모드(Green 분류)에서 현재 트레이닝을 멈추고 도구를 저장할 때, 매개변수 복원을 클릭하면 매개변수 값들을 저장된 도구의 매개변수 값들로 복원합니다. 도구를 저장하지 않기로 선택할 때 매개변수 복원 버튼을 클릭하면 현재 개시된 트레이닝 이전에 완료된 트레이닝의 매개변수 값으로 복원합니다.

 

신경망 트레이닝 제어

Red 분석 도구 High Detail 모드 학습은 도구 매개변수와 학습 세트를 설정함으로 조정할 수 있습니다.

 

트레이닝 셋

네트워크 학습 단계에 가장 큰 영향을 미치는 요소는 학습 Set 구성입니다. 네트워크 학습 단계를 제어하는 최선의 방법은 해당 도구에 대한 적절한 학습 Set를 구축하는 것입니다. 이렇게 함으로써, 해당 도구가 이미지/뷰를 적절히 일반화하는지 여부를 판단할 수 있도록 이미지/뷰를 범주로 분류할 수 있습니다.

 

Validation Set과 Validation Loss

모든 도구가 트레이닝 세트를 사용하지만, High Detail 도구는 트레이닝 세트 일부를 "validation 세트 또는 validation 데이터"라는 이름으로 분리해 사용합니다. 트레이닝 세트 중 얼마만큼을 이 데이터 세트로 사용할지는 사용자가 결정합니다. High Detail 모드 트레이닝 시 각 신경망 모델은 validation loss(validation 데이터에서 계산되는 loss)를 계산합니다. 그리고 성능, 가용성 측면에서 가장 좋은 validation loss를 보이는 모델을 트레이닝 결과로 최종 선택합니다.

검증 데이터를 사용하는 목적은 트레이닝 데이터에서 생성된 많은 신경망 모델들 중에서 트레이닝 결과로 반환하기 위한 가장 좋은 모델을 선택하는 것입니다. 이러한 목적을 달성하고자 validation 데이터를 활용하는 트레이닝 전략을 여기에서는 "validation을 활용한 트레이닝"이라고 부릅니다. Focused 모드 도구와는 달리, High Detail 모드(Green 분류 High Detail 모드와 Red 분석 High Detail 모드)들은 validation을 활용한 트레이닝을 제공하며, validation loss를 모니터링하여 신경망 트레이닝을 제어할 수 있습니다. 트레이닝 중 매 1/8 epoch가 끝날 때마다, 신경망은 미리 구성한 Validation Set으로부터 Loss 값을 계산합니다.

Validation Loss는 분류(Green 분류 High Detail 모드) 또는 세분화(Red 분석 High Detail 모드)의 정확도 측면에서 학습된 네트워크의 성능을 나타내며, 이는 Loss가 작을수록 일반적으로 더 나은 네트워크라는 것을 의미합니다. 따라서 0에 가까운 값을 가질수록 좋습니다. Red 분석 High Detail 모드의 Validation Loss는 각 픽셀에서 “양호” 혹은 “결함”의 이진 분류인 세분화가 실행될 때 픽셀 별로 계산됩니다. 그러나, 네트워크가 실제로 얼마나 동작을 잘 하는지에 대한 완전한 통찰을 얻으려면, 학습된 네트워크를 별도의 데이터(테스트 데이터)에 대해서 테스트하여 과적합을 방지해야 합니다.

 

Validation Loss (0에서 1)

  • 1 - IOU

 

IOU (단위: %)

  • IOU는 Intersection Over Union의 준말로 실제 불량영역을 모델이 얼마나 정확하게 검출하고 있는지 확인할 수 있는 지표입니다. IOU 계산 방법은 다음과 같습니다:

    (실제 영역 ∩ 예측 영역) / (실제 영역 ∪ 예측 영역)

Tip: 각 High Detail 모드 학습 시에 Validation Loss의 변화를 Loss 검사기로 모니터링할 수 있습니다.
Note: 트레이닝과 프로세싱 속도를 높이는 방법은 속도 최적화에서 확인하십시오.
Note: 트레이닝, 프로세싱에 관한 일반적인 팁과 도움말은 응용 프로그램 설계을 확인하십시오.