티스토리 뷰
딥러닝이란?
딥러닝이란? 딥 러닝은 인간이 특정한 종류의 지식을 얻는 방법을 모방하는 기계 학습과 인공지능의 한 종류입니다. 딥 러닝은 통계학 및 예측 모델링을 포함하는 데이터 과학의 중요한 요소입니다. 대량의 데이터 수집, 분석 및 해석을 담당하는 데이터 과학자에게 매우 유용합니다. 딥 러닝은 이 과정을 더 빠르고 쉽게 만듭니다. 간단히 말해서 딥 러닝은 예측 분석을 자동화하는 방법으로 생각할 수 있습니다. 기존의 기계 학습 알고리즘은 선형이지만 딥 러닝 알고리즘은 복잡성과 추상화가 증가하는 계층 구조로 쌓여 있습니다. 딥 러닝을 이해하기 위해 첫 단어가 개인 유아를 상상해봅시다. 갓난아기는 물건을 가리키고 dog라는 단어를 말함으로써 개가 무엇인지 배우고 그렇지 않습니다. 부모는 네, 저건 개예요 또는 아니요, 저건 개가 아니라고 말합니다. 아기가 계속해서 물체를 가리키면서 그는 모든 개들이 가지고 있는 특징에 대해 더 잘 알게 됩니다. 아기가 모르는 사이에 하는 일은 복잡한 추상화, 즉 개의 개념을 명확히 하는 것입니다. 각 추상화 수준이 그 계층의 이전 계층에서 얻은 지식으로 만들어지는 계층을 구축합니다. 이러한 딥러닝의 구조에 대해서 살펴보겠습니다. 딥 러닝을 사용하는 컴퓨터 프로그램은 아기가 개를 식별하는 것을 배우는 것과 거의 같은 과정을 거칩니다. 계층 내 각 알고리즘은 비선형 변환을 입력에 적용하고 학습한 내용을 출력으로 사용하여 통계 모델을 만듭니다. 출력이 허용 가능한 정확도에 도달할 때까지 반복 작업이 계속됩니다. 데이터가 통과해야 하는 처리 레이어의 수가 라벨의 깊이에 영향을 미쳤습니다. 전통적인 기계학습에서는 학습과정이 감독되고 프로그래머는 이미지에 개가 포함되거나 개가 포함되지 않은지 결정하기 위해 어떤 종류의 것들을 찾아야 하는지 컴퓨터에 말할 때 매우 구체적이어야 합니다. 이것은 특징 추출이라고 불리는 힘든 과정이며, 컴퓨터의 성공률은 전적으로 개에 대한 특징 집합을 정확하게 정의하는 프로그래머의 능력에 달려 있습니다. 딥 러닝의 장점은 프로그램이 감독 없이 피처 세트를 스스로 구축한다는 것입니다.감독 없이 배우는 것이 더 빠를 뿐만 아니라 보통 더 정확합니다. 처음에 컴퓨터 프로그램은 훈련 데이터와 함께 제공될지도 모릅니다. 인간이 각각의 이미지 도그에 메타태그를 붙이거나 개가 아닌 이미지 세트입니다. 프로그램은 훈련 데이터로부터 받은 정보를 사용하여 개에 대한 피쳐 세트를 만들고 예측 모델을 만듭니다. 이 경우 컴퓨터가 처음 작성하는 모델은 이미지에서 다리가 네 개이고 꼬리가 있는 모든 것에 개라는 이름을 붙여야 한다고 예측할 수 있습니다. 물론 프로그램에서는 4개의 다리 또는 꼬리의 라벨을 인식하지 않습니다. 디지털 데이터의 픽셀 패턴을 찾는 것만으로 끝납니다. 반복할 때마다 예측 모델은 더 복잡하고 정확해집니다. 개의 개념을 이해하는 데 몇 주 또는 몇 달이 걸리는 유아와는 달리, 딥 러닝 알고리즘을 사용하는 컴퓨터 프로그램은 훈련 세트를 보여주고 몇 분 안에 개가 있는 이미지를 정확하게 식별하면서 수백만 개의 이미지를 분류할 수 있다. 충분한 수준의 정확도를 달성하기 위해 딥 러닝 프로그램에서는 방대한 양의 트레이닝 데이터와 처리 능력을 필요로 합니다. 이러한 데이터는 빅데이터와 클라우드 컴퓨팅 시대까지는 프로그래머가 쉽게 이용할 수 없었습니다. 딥 러닝 프로그래밍은 자체 반복 출력에서 직접 복잡한 통계 모델을 생성할 수 있기 때문에 라벨이 부착되지 않은 비정형 데이터 대량에서 정확한 예측 모델을 생성할 수 있습니다. 사물인터넷이 계속 보급되고 있는 가운데, 인간과 머신이 작성하는 데이터의 대부분은 구조화되어 있지 않고 라벨이 붙어 있지 않기 때문에 이것은 매우 중요합니다. 이러한 딥 러닝의 방법은 다음과 같습니다. 다양한 방법을 사용하여 강력한 딥 러닝 모델을 만들 수 있습니다. 이러한 기술에는 학습률 저하, 전학 학습, 처음부터 교육 및 중퇴가 포함됩니다. 첫번째는 학습률 저하입니다. 학습속도는 하이퍼 파라미터로 모델 가중치가 변경될 때마다 예상되는 오류에 대해 모델이 경험하는 변화량을 제어합니다. 학습률이 너무 높으면 교육 과정이 불안정해지거나 최적의 체중을 학습하지 못할 수 있습니다. 학습률이 너무 낮으면 시간이 오래 걸리는 훈련 과정이 발생할 수 있습니다. 이러한 학습률 저하 방법은 학습률 해제 또는 적응 학습률이라고도 불리는 학습률을 조정하여 성과를 높이고 훈련 시간을 단축하는 과정입니다. 훈련 중 학습률의 가장 쉽고 일반적인 적응에는 시간에 따라 학습률을 낮추는 기술이 포함됩니다. 두번째로 전송 학습니다. 이 프로세스에는 이전에 트레이닝된 모델을 완성하는 작업이 포함됩니다. 기존 네트워크 내부로의 인터페이스가 필요합니다. 우선, 유저는 이전에 불명한 분류를 포함한 기존의 네트워크에 새로운 데이터를 공급합니다. 네트워크가 조정되면 보다 구체적인 분류 기능을 사용하여 새로운 작업을 수행할 수 있습니다. 이 방법은 다른 방법보다 훨씬 적은 데이터를 필요로 하므로 계산 시간이 분 또는 시간으로 단축된다는 장점이 있습니다. 세번째로 처음부터 트레이닝 하는 것입니다. 이 방법에서는 개발자가 라벨이 붙은 대규모 데이터 세트를 수집하고 기능과 모델을 학습할 수 있는 네트워크 아키텍처를 구성해야 합니다. 이 기술은 특히 새로운 응용 프로그램 및 다수의 출력 카테고리가 있는 응용 프로그램에 유용합니다. 그러나 전반적으로 볼 때, 과도한 양의 데이터를 요구하기 때문에 훈련에 며칠 또는 몇 주가 소요되기 때문에 일반적인 접근 방식은 아닙니다. 마지막으로 자퇴라는 방법입니다. 이 방법은 훈련 중에 뉴럴네트워크에서 유닛과 유닛의 접속을 랜덤으로 드롭함으로써 파라미터가 많은 네트워크에서의 과적합 문제를 해결하려고 합니다. 드롭아웃 방법은 음성 인식, 문서 분류, 컴퓨터 생물학과 같은 영역에서 감독된 학습 과제에서 신경망의 성능을 향상시킬 수 있다는 것이 입증되었습니다. 이렇게 딥러닝의 구조와 방법에 대해서 살펴봤습니다.