본문 바로가기

인공지능[AI]

케라스 창시자에게 배우는 딥러닝 [1장: 딥러닝이란 무엇인가?]

728x90
반응형
SMALL

1.1 인공 지능과 머신 러닝, 딥러닝

인공 지능, 머신 러닝 그리고 딥러닝

인공 지능 -> "컴퓨터가 '생각'할 수 있는가?"라는 질문을 하면서 시작

인공지능의 간결한 정의: 보통의 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구 활동

심볼릭 AI: 프로그래머들이 명시적인 규칙을 충분하게 많이 만들어 데이터베이스에 저장된 지식을 다루면 인간 수준의 인공 지능을 만드는 접근  방법

- 이미지 분류, 음성 인식, 언어 번역 같은 더 복잡하고 불분명한 문제를 해결하기 위한 명확한 규칙을 찾는 것은 아주 어려운 일

- 이런 심볼릭 AI를 대체하기 위한 새로운 방법이 바로 머신러닝

머신러닝: 새로운 프로그래밍 패러다임

머신 러닝 시스템은 명시적으로 프로그램되는 것이 아니라 훈련(training)

 

머신 러닝을 하기 위해서는 세 가지가 필요함

- 입력 데이터 포인트

- 기대 출력

- 알고리즘의 성능을 측정하는 방법

측정값은 알고리즘의 작동 방식을 교정하기 위한 신호로 다시 피드백

이런 수정 단계를 학습(learning)이라고 함

 

머신러닝에서 학습(learning): 유용한 데이터 표현을 만드는 데이터 변환을 피드백 신호를 바탕으로 자동으로 탐색하는 과정

 

딥러닝

- 딥러닝은 머신 러닝의 특정한 한 분야로서 연속된 (layer)에서 점진적으로 의미 있는 표현을 배우는 데 강점이 있으며, 데이터로부터 표현을 학습하는 새로운 방식

- 딥러닝의 (deep)이란 단어가 어떤 깊은 통찰을 얻을 수 있다는 것을 의미하지는 않음

- 데이터로부터 모델을 만드는 데 얼마나 많은 층을 사용했는지가 그 모델의 깊이가 됨

- 이 분야에 대한 적절한 다른 이름은 층 기반 표현 학습(layered representations learning)또는 계층적 표현 학습(hierarchial representations learning)이 될 수 있음

- 1~2개의 데이터 표현 층을 학습하는 방식 -> 얕은 학습(shallow learning)

- 딥러닝에서는 말 그대로 층을 겹겹이 쌓아 올려 구성한 신경망(neural network)이라는 모델을 사용하여 층 기반 표현을 학습

숫자 분류를 위한 심층 신경망(deep neural network)
숫자 분류 모델이 학습한 표현

딥러닝의 작동 원리 이해하기

  • 층이 입력 데이터를 처리하는 방식은 일련의 숫자로 이루어진 층의 가중치(weight)에 저장되어 있음
  • 기술적으로 말하면 어떤 층에서 일어나는 변환은 그 층의 가중치를 파라미터(parameter)로 가지는 함수로 표현
  • 이런 맥락으로 보면 학습은 주어진 입력을 정확한 타깃에 매핑하기 위해 신경망의 모든 층에 있는 가중치 값을 찾는 것을 의미

신경망은 가중치를 파라미터로 가진다

  • 신경망의 출력을 제어하려면 출력이 기대하는 것보다 얼마나 벗어났는지 측정. 이는 신경망의 손실함수(loss function)가 담당하는 일
  • 손실 함수를 이따금 목적 함수(objective function) 또는 비용 함수(cost function)라고도 부름

손실 함수가 신경망의 출력 품질을 측정

  • 점수를 피드백 신호로 사용하여 현재 샘플의 손실 점수가 감소되는 방향으로 가중치 값을 조금씩 수정하는 것. 이런 수정 과정은 딥러닝의 핵심 알고리즘인 역전파(backpropagation) 알고리즘을 구현한 옵티마이저(optimizer)가 담당

손실 점수를 피드백 신호로 사용하여 가중치 조정

  • 네트워크가 모든 샘플을 처리하면서 가중치가 조금씩 올바른 방향으로 조정되고 손실 점수가 감소. 이를 훈련 반복(training loop)이라고 하며, 충분한 횟수만큼 반복하면(일반적으로 수천 개의 샘플에서 수십 번 반복하면)손실 함수를 최소화하는 가중치 값을 산출
728x90
반응형
LIST