갑자기 모든 사람들이 이해하든 말든 간에 인공지능에 대해 이야기하고 있습니다. 인공지능의 최신 진보를 이해하는 것은 압도적으로 보일 수 있지만, 이것은 정말로 매우 인기 있는 두 가지 개념인 기계학습과 딥러닝으로 요약되고 있습니다. 최근 딥러닝은 엄청난 양의 데이터로 훈련했을 때 정확도 면에서 우월하다는 점에서 많은 인기를 얻고 있습니다.
Deep Learning이 어떤 관심을 받고 있는지 알 수 있는 키워드에 대한 Google 동향은 아래와 같습니다.
소프트웨어 산업은 오늘날 머신 지능으로 발전하고 있습니다. 머신 러닝은 기계를 지능적으로 만드는 한 방법으로 모든 분야에서 필요하게 되었습니다. 더 간단한 방법으로, 머신러닝은 데이터를 구문 분석하고, 그것들로부터 배운 것을 적용하여 지능적인 결정을 내리는 알고리즘 집합이라 할 수 있습니다.
기계학습의 예는 어디에나 있습니다. 넷플릭스가 다음 중 어떤 쇼를 보고 싶어할지, 아니면 페이스북이 디지털 사진에서 친구의 얼굴을 어떻게 인식하는지 아는 방법입니다.
전통적인 기계 학습 알고리즘에 관한 것은 그들이 보기에는 복잡하지만 여전히 기계와 같다는 것입니다. 그들은 많은 영역의 전문지식을 필요로 합니다. 인간의 개입은 단지 그들이 설계한 것만을 위한 것 그 이상도 이하도 아닙니다. AI 디자이너와 전 세계의 다른 사람들에게 딥 러닝은 조금 더 많은 가능성을 가지게 해줍니다.
딥러닝이란?
실제로 딥러닝은 머신 러닝의 하위집단으로, 각 개념이 단순한 개념과 관련하여 정의되고, 보다 추상적인 표현들이 덜 추상적인 개념으로 계산된 가운데 중첩된 개념의 계층으로 세계를 표현하는 것을 배움으로써 위대한 힘과 유연성을 성취하는 기계학습의 하위집합입니다.
협력적으로, 딥 러닝 기법은 숨겨진 계층 구조를 통해 범주를 점진적으로 배우며, 처음에는 문자와 같은 낮은 수준의 범주를 정의하고 다음에는 단어와 같은 상위 범주를 정의합니다. 이미지 인식의 예에서, 선을 분류하기 전에 빛/어두운 영역을 식별한 다음 얼굴 인식을 가능하게 하는 모양을 의미합니다. 네트워크의 각 뉴런이나 노드는 전체의 한 측면을 나타내며, 그것들은 함께 이미지를 완전히 표현합니다. 각 노드 또는 숨겨진 계층에는 출력과의 관계의 강도를 나타내는 가중치가 부여되며 모델이 개발될 때 가중치가 조정됩니다.
딥러닝의 특징
딥 러닝의 큰 이점, 그리고 왜 그것이 인기를 얻고 있는지를 이해하는 데 있어 중요한 부분은 방대한 양의 데이터에 의해 작동된다는 것입니다. 기술의 "빅 데이터 시대"는 딥 러닝에 있어 새로운 혁신을 위한 엄청난 기회를 제공할 것입니다. 중국 주요 검색엔진 바이두의 수석과학자이자 구글 브레인 프로젝트의 리더 중 한 명인 앤드류에 따르면, "로켓엔진은 딥 러닝 모델이며 연료는 우리가 이러한 알고리즘에 공급할 수 있는 엄청난 양의 데이터라는 것입니다"라고 하였습니다.
딥러닝은 전통적인 머신러닝 알고리즘과는 반대로 고급 하드웨어를 필요로 한다. GPU는 이제 딥러닝 알고리즘을 실행하는 데 필수적인 부분이 되었습니다.
전통적인 기계 학습 기법에서, 데이터의 복잡성을 줄이고 작동하기 위한 학습 알고리즘에 패턴을 더 잘 보이도록 하기 위해, 적용된 기능의 대부분은 도메인 전문가에 의해 식별될 필요가 있었습니다. 앞에서 설명한 딥러닝 알고리즘의 가장 큰 장점은 데이터로부터 높은 수준의 특징을 점진적으로 배우려고 한다는 것입니다. 따라서 도메인 전문지식과 하드 코어 피쳐 추출이 필요하지 않습니다.
딥러닝과 머신러닝의 또 다른 큰 차이점은 문제해결 접근법입니다. 딥러닝 기법은 문제를 엔드 투 엔드로 해결하는 경향이 있는데, 여기서 머신러닝 기법은 먼저 해결되어야 할 다른 부분으로 분해한 다음 최종 단계에서 그 결과를 결합하기 위해 문제가 필요합니다. 예를 들어 다중 객체 감지 문제의 경우, Yolo net과 같은 딥러닝 기법은 이미지를 입력으로 받아들이고 출력 시 객체의 위치와 이름을 제공합니다. 그러나 SVM과 같은 일반적인 기계 학습 알고리즘에서는 관련 개체를 인식하기 위해 먼저 HOG를 학습 알고리즘의 입력으로 가질 수 있는 모든 가능한 개체를 식별해야 합니다.
일반적으로, 딥러닝 알고리즘은 많은 수의 파라미터로 인해 훈련하는데 오랜 시간이 걸립니다. ResNet 알고리즘은 처음부터 완전히 훈련하는데 약 2주가 걸립니다. 반면에, 전통적인 기계 학습 알고리즘은 훈련하는데 몇 초에서 몇 시간이 걸립니다. 그 시나리오는 시험 단계에서 완전히 역행합니다. 시험 시간에, 딥러닝 알고리즘은 실행하는데 훨씬 더 적은 시간이 걸립니다. 반면, k-nearest neighbors(기계학습 알고리즘의 일종)과 비교하면 데이터 크기를 늘리는 데 걸리는 시험 시간이 늘어납니다. 비록 이것이 모든 기계 학습 알고리즘에 적용되는 것은 아니지만, 그들 중 일부는 시험 시간도 짧기 때문입니다.
왜 많은 분야가 딥러닝보다 다른 머신러닝 기법을 사용하는가에 대한 것은 주된 이슈입니다. 예를 들어, 딥 러닝을 사용하여 문서의 관련 점수를 계산한다고 가정하겠습니다. 그것이 주는 연주는 꽤 훌륭하고 사람의 연주에 가깝습니다. 하지만 문제가 있습니다. 왜 그 점수를 줬는지는 밝혀지지 않는 것입니다. 실제로 수학적으로 딥 뉴럴 네트워크의 어떤 노드가 활성화되었는지 알 수 있지만, 우리는 뉴런들이 무엇을 모형을 하도록 되어 있는지 그리고 이 층의 뉴런들이 집단적으로 무엇을 하고 있었는지 알 수 없습니다. 그래서 결과를 해석하는 데 실패합니다. 의사결정 트리, 로지스틱 회귀 분석 등과 같은 기계 학습 알고리즘의 경우는 그렇지 않습니다.
언제 딥러닝을 사용해야 하는가?
- Deep Learning은 데이터 크기가 클 경우 좋은 성능을 나타냅니다. 그러나 데이터 크기가 작으면 기존의 기계 학습 알고리즘이 더 바람직하다.
- 딥러닝 기법은 합리적인 시간에 훈련하기 위한 하이엔드 인프라를 갖추어야 합니다.
- 본인 도메인에 대한 이해가 부족할 경우, 딥러닝 기술은 공학에 대해 덜 신경써도 되기 때문에 다른 사람들을 능가할 수 있습니다.
- 딥러닝은 이미지 분류, 자연어 처리, 음성 인식과 같은 복잡한 문제에 대해서 빛을 발합니다.
'SW > 인공지능' 카테고리의 다른 글
인공지능 : CNN(Convolutional Neural Networks) 개념, 예제, 분석 (0) | 2019.06.26 |
---|---|
인공지능 : Recurrent Neural Networks(RNN) 개념, 분석 (0) | 2019.06.11 |
인공지능 : 머신러닝(신경망)의 원리 (0) | 2019.05.23 |
인공지능 : 딥 러닝의 핵심 아이디어 (0) | 2019.05.22 |
인공지능 : CNN(Crovolutional neural network) 개념 (0) | 2019.05.21 |