«   2022/12   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
11
Total
18,636
관리 메뉴

인기글

딥러닝 성능 향상 기법 : 앙상블 자세히 알아보기 본문

카테고리 없음

딥러닝 성능 향상 기법 : 앙상블 자세히 알아보기

친절한😎상추§ 2020. 7. 22. 10:03

앙상블을 딥러닝 신경망에 적용하기

딥러닝 모델의 성능을 향상할 수 있는 여러 가지 비법이 존재합니다. 오늘은 그중에서 앙상블이라고 하는 기법에 대해서 살펴보겠습니다. 다소 지루할 수 있으나 끝까지 보신다면 대강 개념이 잡히실 것이라고 장담합니다. 그럼 시작합니다. 딥러닝 신경망은 비선형 방법입니다. 유연성이 향상되었으며 사용 가능한 교육 데이터의 양에 비례하여 확장할 수 있습니다. 이러한 유연성의 단점은 확률적인 훈련 알고리즘을 통해 학습한다는 것입니다. 즉, 훈련 데이터의 특성에 민감하고 훈련될 때마다 다른 가중치 세트를 발견할 수 있으며, 이는 차례로 다른 예측을 생성합니다. 일반적으로 이를 분산이 큰 신경망이라고 하며 예측에 사용할 최종 모델을 개발하려고 할 때 잘 안될 수 있습니다. 신경망 모델의 분산을 줄이는 성공적인 방법은 단일 모델 대신 여러 모델을 학습하고 이러한 모델의 예측을 결합하는 것입니다. 이를 앙상블 학습이라고 하며 예측의 분산을 줄일 뿐만 아니라 단일 모델보다 더 나은 예측을 생성할 수 있습니다. 이 게시물에서는 분산을 줄이고 예측 성능을 향상하기 위해 딥러닝 신경망에 대한 방법을 알아봅니다. 이 게시물을 읽은 후 다음을 알게 됩니다. 신경망 모델은 비선형이며 분산이 높기 때문에 예측을 위한 최종 모델을 준비할 때 실망스러울 수 있습니다. 앙상블 학습은 여러 신경망 모델의 예측을 결합하여 예측의 분산을 줄이고 일반화의 오류를 줄입니다. 앙상블 학습을 위한 기술은 훈련 데이터, 모델 및 예측 결합 방법과 같이 다양한 요소로 그룹화할 수 있습니다. 26개의 단계별 참고서와 전체 소스 코드를 사용하여 새로운 책에서 딥러닝 모델로 더 빠르게 훈련하고 과적합을 줄이며 더 나은 예측을 하는 방법을 알아보시기 바랍니다. 심층 신경망 훈련은 계산 비용이 많이들 수 있습니다. 수백만 개의 예제로 훈련된 매우 깊은 네트워크는 훈련하는 데 며칠, 몇 주, 때로는 몇 달이 걸릴 수 있습니다. 너무 많은 시간과 자원을 투자한 후에는 최종 모델이 일반화 오류가 낮다는 보장이 없으며 훈련 중에는 보지 못했던 예제에서 잘 수행됩니다. 신경망 모델은 비선형 방법입니다. 즉, 데이터에서 복잡한 비선형 관계를 배울 수 있습니다. 이 유연성의 단점은 초기 임의 가중치와 훈련 데이터 세트의 통계 노이즈 측면에서 초기 조건에 민감하다는 것입니다. 학습 알고리즘의 이러한 확률 적 특성은 신경망 모델이 학습될 때마다 입력에서 출력까지 약간의 (또는 극적으로) 다른 버전의 맵핑 기능을 학습할 수 있으며, 이는 차례로 학습 및 홀드 아웃에서 서로 다른 성능을 갖도록 합니다. 따라서 우리는 신경망을 낮은 바이어스와 높은 분산을 갖는 방법으로 생각할 수 있습니다. 높은 분산을 만족시키기 위해 큰 데이터 세트에 대해 학습하더라도 예측을 위해 사용되는 최종 모델의 분산은 실망스러울 수 있습니다. 신경망의 높은 분산에 대한 해결책은 여러 모델을 훈련시키고 예측을 결합하는 것입니다. 아이디어는 여러 가지 우수하지만 다른 모델의 예측을 결합하는 것입니다. 좋은 모델에는 기술이 있으므로 예측의 결과가 임의 확률보다 낫습니다. 중요한 것은 모델이 다른 방식으로 양호해야 한다는 것입니다. 그렇기 때문에 서로 다른 예측 오류를 만들어야 합니다. 모델 평균화가 작동하는 이유는 다른 모델이 일반적으로 테스트 세트에서 모두 동일한 오류를 생성하지 않기 때문입니다. 다수의 신경망으로부터의 예측을 결합하면 단일 훈련된 신경망 모델의 분산에 대응하는 편향이 추가됩니다. 결과는 훈련 데이터의 특성, 훈련 계획의 선택 및 단일 훈련 실행에 덜 민감한 예측입니다. 앙상블은 예측의 분산을 줄이는 것 외에도 단일 모델보다 더 나은 예측을 제공할 수 있습니다. 이 접근법은 동일한 문제에 대해 준비된 여러 모델의 예측을 최대한 활용하려고 시도하는 방법을 설명하는 "앙상블 학습"이라는 일반적인 방법 클래스에 속합니다. 일반적으로 앙상블 학습에는 동일한 데이터 세트에서 둘 이상의 네트워크를 학습한 다음 학습된 각 모델을 사용하여 예측을 결합하여 최종 결과 또는 예측을 수행하기 전에 예측을 수행합니다. 실제로, 모델의 조립은 가장 안정적이고 최상의 예측이 이루어질 수 있도록 하는 응용 머신 러닝의 표준 접근법입니다. 예를 들어, Alex Krizhevsky의 이티 인공지능이 있습니다. 사진 분류를 위해 매우 깊은 회선 신경 네트워크를 도입한 유명한 심층 논문인 "심층 회선 신경망을 사용한 Imagenet 분류 "(예: AlexNet)에서는 여러 가지 성능이 우수한 CNN 모델에서 모델 평균을 사용하여 최첨단 결과를 달성했습니다. 시간의 측면에서, 하나의 모델의 성능을 2, 5 및 7개의 서로 다른 모델에 대한 앙상블 예측과 비교했습니다. 5개의 유사한 CNN에 대한 예측을 평균하면 16.4 % 의 오류율이 발생합니다. 앞서 언급 한 5개의 CNN으로 사전 훈련된 2 개의 CNN에 대한 평균을 구하면 15.3%의 오류율이 나타납니다. 기계 학습 경쟁에서 우승자가 사용하는 접근 방식도 조립입니다. 아마도 신경망에 가장 오래되고 여전히 가장 보편적으로 사용되는 방법은 " 네트워크위원회" 방법이라고 합니다. 구성이 동일하고 초기에 임의 가중치가 다른 네트워크 모음이 동일한 데이터 세트에서 학습됩니다. 그런 다음 각 모델을 사용하여 예측을 수행하고 실제 예측은 예측의 평균으로 계산됩니다. 앙상블의 모델수는 종종 훈련 모델의 계산 비용과 더 많은 앙상블 멤버 추가로 인한 성능 저하로 인해 작게 유지됩니다. 앙상블은 3, 5 또는 10개의 훈련된 모델만큼 작을 수 있습니다. 앙상블 학습 분야는 잘 연구되었으며이 간단한 주제에는 많은 변형이 있습니다. 앙상블 방법의 세 가지 주요 요소 각각을 변화시키는 것을 생각하면 도움이 될 수 있습니다. 예를 들면 다음과 같습니다. 학습 데이터의 측면에서, 앙상블에서 각 모델을 학습하는 데 사용되는 데이터 선택을 바꿉니다. 앙상블 모델의 측면에서는 앙상블에 사용된 모델의 선택에 따라 다릅니다. 조합의 측면에서는 앙상블 멤버의 결과가 결합되는 방식을 선택하면 됩니다.

0 Comments
댓글쓰기 폼