CH1 파이토치로 딥러닝 시작하기
인공지능은 새로운 전기다
인공지능
인공지능의 역사
앨런 튜닝의 에니그마 머신
심벌릭
인공지능을 하드 코딩 규칙으로 구현한 것
논리적이고 잘 정의된 문제를 해결하는데 적합하지만, 이미지 인식, 객체 검출, 객체 분할, 언어 번역 및 자연어 이해같은 복잡한 문제를 해결할 수 없다.
-> 머신 러닝, 딥러닝과 같은 인공지능에 대한 새로운 접근법이 개발 됨
인공지능, 머신 러닝, 딥러닝의 관계
인공지능 ⊃ 머신 러닝 ⊃ 딥러닝
머신러닝
인공지능의 하위분야
전통적인 프로그래밍: 데이터+규칙 -> 결과
머신 러닝: 데이터 + 결과 -> 규칙
피처 엔지니어링: 도메인 지식을 활용해 머신 러닝 알고리즘에 적합한 피처가 무엇인지 판단하고 만드는 프로세스
*딥러닝에서는 피처 엔지니어링이 자동화 됨
*도메인 지식:
*피처: 개별적이고 측정 가능한 속성 (통계학에서는 독립변수)
컴퓨터 비전과 자연어 처리와 같은 분야에서는 수만 차원의 고차원 분석 데이터를 사용하기 때문에 피처 엔지니어링이 어렵다
*예: 244*244*3 이미지 1000장을 분류하는 모델의 차원은 244*244*3*1000
-> 딥러닝에서는 최신 기법과 하드웨어를 사용해 피처 엔지니어링 문제를 해결
실생활 머신 러닝 사례
- 구글의 Deep learning for grouping photo
- 추천 시스템: 머신 러닝 알고리즘의 한 분류. 넷플릭스, 아마존, 아이튠즈 등 영화, 음악 및 상품 추천
딥러닝
전통적인 머신 러닝 알고리즘: 피처 추출을 직접 수행한 후 알고리즘을 학습
딥러닝 알고리즘: 최신 기법을 사용해 피처 추출을 자동화
딥러닝 애플리케이션
- 인간 수준의 이미지 분류기
- 인간 수준의 음성 인식기
- 기계 번역
- 자율주행 차량
- 시리, 구글 보이스, 알렉사 등
- 일본 농부의 오이 분류기
- 폐암 탐지기
- 인간 수준보다 높은 언어 번역기
딥러닝의 역사
기술 | 연도 |
신경망 | 1943 |
역전파 | 1960대 초반 |
컨볼루션 신경망 | 1979 |
순환 신경망 | 1980 |
LSTM | 1997 |
신경망은 흔히 인간의 두뇌에서 영감을 받은 알고리즘으로 소개되나 딥러닝은 사실 수학, 통계, 그리고 소프트웨어 공학 이론으로부터 중대한 영향을 받았다.
왜 지금인가?
딥러닝이 지금 대세가 된 원인 세가지
- 하드웨어 가용성
- 데이터 및 알고리즘
- 딥러닝 프레임워크
하드웨어 가용성
몇 년 간 성능이 발전해온 CPU로도 딥러닝 연산을 수행하기엔 무리가 있다.
GPU는 CPU보다 훨씬 빠르게 행렬 곱과 같은 거대한 수학 연산을 처리할 수 있다.
데이터와 알고리즘
인터넷 보급 확대와 스마트폰 사용의 증가로 페이스북 및 구글과 같은 회사에서 다양한 포맷의 데이터를 수집할 수 있게 됨
ImageNet: 컴퓨터 비전 인공지능 알고리즘 성능을 경쟁하는 대회
컴퓨터 비전 분야는 ImageNet이 제공하는 데이터셋을 기반으로 비약적 발전을 이룸
딥러닝 세상을 대표하는 데이터셋
- MNIST
- COCO 데이터셋
- CIFAR
- Street View House Numbers
- PASCAL VOC
- 위키피디아 덤프
- 20개 뉴스 그룹
- 캐글
딥러닝 프레임워크
딥러닝 프레임워크는 두 가지 용도로 사용될 수 있다.
- Numpy와 같은 연산을 GPU 가속 연산으로 대체
- 심층 신경망 구축
파이토치
사용 편리성과 기술 단순성에서 뛰어남.
다른 대다수 프레임워크들이 정적 계산 그래프를 사용하는 반면 파이토치는 동적 계산 그래프를 사용하기 때문에 복잡한 아키텍쳐를 구축할 때 뛰어난 유연성을 제공.
*동적 계산 그래프: 데이터를 흘려보냄으로써 계산 그래프가 정의되는 방식. '데이터 흘려보내기'와 '계산 그래프 구축'이 동시에 이루어진다.
자체 프로그래밍 스타일을 가진 여타 프레임워크들과 달리 파이썬 개념을 광범위하게 사용하고 객체지향 방식으로 프로그래밍이 가능하다.
요약
- 인공지능, 머신 러닝 및 딥러닝에 대한 소개
- 애플리케이션 예시
- 딥러닝 인기의 이유
- 파이토치의 전반적인 특징
'IT 도서 리뷰' 카테고리의 다른 글
PyTorch로 시작하는 딥러닝 - CH7 생성적 신경망 (0) | 2021.11.14 |
---|---|
PyTorch로 시작하는 딥러닝 - CH6 시퀀스 데이터와 텍스트 딥러닝 (0) | 2021.11.12 |
PyTorch로 시작하는 딥러닝 - CH5 컴퓨터 비전 딥러닝 (0) | 2021.11.11 |
PyTorch로 시작하는 딥러닝 - CH4 머신 러닝 입문 (0) | 2021.11.11 |
PyTorch로 시작하는 딥러닝 - CH2 신경망 구성 요소 (0) | 2021.10.29 |