
머신러닝은 데이터에서 규칙 학습, 딥러닝은 다량의 데이터를 학습하기 위해 컴퓨터가 더욱 많은 것을 선택하도록 함
인공신경망(Artificial neural networks)
-> 머신 러닝 알고리즘 중 하나로, 사람의 두뇌를 모방하고자 신경세포를 연결하는 구조

-> 시냅스의 연결 강도에 의해 동작이 결정
딥러닝은 머신러닝에 비해 더 종합적으로 문제를 해결
-> 머신러닝은 직접 설계한 특징을 사용
-> 딥러닝은 특징 추출과 분류/회귀 동작을 동시에 학습

전통적인 머신러닝 애플리케이션 향상
-> 광학 문자 인식(OCR)
-> 스팸 메일 필터링(spam filter)
-> 추천 시스템(recommendation system)
-> 이상 상황 탐지(anomaly detection: CCTV, 공장 설비, fraud detection: 금융거래)

영상 애플리케이션
-> 영상 검출/인식(image detection/recognition)
-> 의료 진단(medical diagnosis): MRI, CT 등 영상보고 진단
-> 영상 묘사(image description)
-> 영상 복원, 개선(image restoration, enhancement)

음성/언어 애플리케이션
-> 음성 인식(speech recognition)
-> 자연어 처리(NLP)
-> 자동 번역(automatic language translation)
-> 인공지능 비서 서비스(virtual assistant)

딥러닝으로 현실화 된 애플리케이션
-> 자율 주행 자동차
-> 예술 작품 생성
-> 흑백 사진 채색
-> 동영상 소리 생성
-> 고차원 게임 인공지능



최초의 인공신경망 (McCulloch and Pitts, 1943)
퍼셉트론 구조(Perceptron, 1958)

ADALINE (1960)

XOR 문제와 AI Winter
-> Perceptrons에서 인공신경망이 기본적인 XOR 문제를 해결할 수 없음을 보임

다층 퍼셉트론과 첫 번째 Breakthrough
-> 다층 퍼셉트론(MLP, 1986): 은닉 계층의 사용으로 XOR문제를 해결하여 AI Winter 해소

역전파 알고리즘과 MNIST
-> 역전파(BP): MLP를 학습하기 위해 제안된 효과적인 학습 알고리즘
-> MLP, BP로 해결한 대표적인 숫자인식 문제 - MNIST 데이터셋

기울기 소실 문제와 2차 AI Winter
-> 기울기 소실(vanishing gradient): MLP의 계층이 늘어날 경우 학습이 잘 이루어지지 않는 현상

심층 믿음 신경망과 두 번째 Breakthrough
-> 심층 믿음 신경망(DBN): 비지도 사전학습(pretraining)을 이용하여 기울기 소실 문제 해결

AlexNet(2012): 성공적으로 현대적인 딥러닝을 적용한 첫번째 사례

딥러닝 프레임워크의 필요성
-> 높은 수준의 딥러닝 알고리즘을 쉽고 빠르게 구현
-> 구동 단말에 종속성이 낮은 프로그래밍 코드를 작성할 수 있음
-> 수치 연산상의 오류에서 안전한 구현: 계산 수치가 0이 되거나 무한대로 튀는 현상 방지

다양한 딥러닝 프레임워크

Tensorflow
-> 가장 인기있는 딥러닝 프레임워크
-> 저수준 라이브러리로, 유연성이 뛰어남
-> 구글에서 개발, 2015년 오픈소스로 공개
-> Python, JavaScript, C++, Java, Go, Swift 등 API 지원
-> Keras를 정식 API에 포함시켜 사용성 증대

PyTorch
-> Lua 기반의 딥러닝 프레임워크
-> 페이스북, 트위터 등에서 주로 연구에 사용
-> 유연성과 모델 제작의 단순함을 추구
-> Python 구현인 PyTorch가 연구용으로 크게 인기

이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다