Methods-贸泽技术与解决方案杂志,及时了解技术创新与工程设计方面的重要资讯。
Issue link: https://trendsintech-korea.mouser.com/i/1540281
사용하는 방식입니다. 이를 통해 파라미터 수가 줄어들고, 하나의 영역에서 학습한 특징을 다른 영역에서도 활용할 수 있기 때문에 일반화 성능이 향상됩니다. 모델 프루닝 모델 프루닝은 신경망에서 불필요한 뉴런이나 계층을 제거하여 계산 및 메모리 오버헤드를 줄이는 것을 포함합니다. 프루닝은 크게 구조화 프루닝 (structured pruning)과 비구조화 프루닝(unstructured pruning)으로 분류됩니다. 구조화 프루닝은 전체 뉴런, 채널 또는 계층을 제거하면서 밀집 행렬 (dense matrix)을 유지하므로, 표준 하드웨어와 더 호환성이 높습니다. 일반적인 구조화 프루닝 방식에는 채널 프루닝(컨볼루션 계층에서 중요도가 낮은 채널을 제거), 계층 프루닝(특히 깊은 신경망에서 중복된 계층을 제거), 그룹 단위 프루닝(특정 뉴런 또는 필터 그룹을 대상으로 한다.)을 포함합니다. 비구조화 프루닝은 중요도가 낮은 개별 가중치(연결)를 제거하는 것으로, 예를 들어 값이 0에 가까운 가중치를 제거하는 것입니다(그림 1 참조). 이러한 프루닝은 희소 행렬(sparse matrix)을 생성하며, 불규칙한 희소성은 범용 하드웨어에서 비효율을 유발할 수 있으므로, 효율적인 계산을 위해 특수화된 라이브러리나 하드웨어가 필요합니다. 그림 1: 비구조화 프루닝은 노드 간의 전체 가중치 수를 제거합니다. 이 예시에서 원래의 네트워크(왼쪽)는 36개의 가중치를 포함하고 있으며, 프루닝된 네트워크는 23개를 포함하고 있습니다. 가중치 공유는 메모리에 저장해야 할 고유 가중치의 수를 줄여줍니다. 프루닝된 네트워크에서 각 선의 색상은 특정 가중치를 나타냅니다. (출처: Green Shoe Garage) 양자화 양자화는 고정밀 가중치(예: 32비트)를 낮은 정밀도(예: 8비트 또는 이진 정밀도) 로 변환하며, 메모리를 절약하고 하드웨어 가속기를 사용해 연산 속도를 높일 수 있습니다. 하나의 방법은 사후 학습 양자화(post-training quantization)로, 사전 학습된 부동소수점 모델을 재학습 없이 양자화하는 방식입니다. 이 사후 학습 방식의 변형 중 하나는 동적 범위 양자화(dynamic range quantization) 로, 가중치를 낮은 정밀도로 양자화하지만, 추론 중 활성화 값은 부동소수점 형식으로 유지됩니다. 또 다른 변형은 전체 정수 양자화(full integer quantization) 로, 이 방식에서는 가중치와 활성화 값 모두를 정수로 양자화합니다. 또 다른 방법은 양자화 인지 학습 (QAT, quantization-aware training) 으로, 학습 과정 중 양자화를 적용하는 것입니다. 이 방식은 학습 중 낮은 정밀도의 연산을 시뮬레이션하여 정확도에 미치는 영향을 최소화합니다. 과적합 완화 과적합이란, 머신 러닝 모델이 학습 데이터에서는 매우 뛰어난 성능을 보이지만, 보지 못한 데이터에서는 성능이 떨어지는 현상을 말합니다. 이를 완화하기 위한 방법 중 하나는 증강 (augmentation)으로, 기존 샘플을 변형하여 데이터셋을 확장함으로써 일반화 성능을 높이는 방식입니다 (예: 이미지를 회전시켜 새로운 샘플 생성). 임베디드 시스템에서 | 32

