들어가기에 앞서서 머신러닝의 대다수의 글은 코드 보다는 수학적 이론, 설명 위주로 할 예정입니다.
저는 원래 설명 - 수학적 이론 - 코드 방식으로 공부하는 bottom-up 방식을 매우 좋아합니다.
하지만 시간이 별로 없어서,,나중에 시간이 된다면 코드를 올리겠습니다.
중간중간 수학적인 수식이 나오지만, 좀 더 중점적으로 설명 위주로 할 겁니다.
마지막에는 설명을 바탕으로 코드를 구현한 글도 올릴 예정입니다.
1. 인공지능에 대한 정의
지능 : 계산이나 문장 따위의 지적 작업에서, 성취 정도에 따라 정하여지는 적응 능력
인공지능 : 인간의 지능이 가지는 학습, 추리, 적응, 논증 따위의 기능을 갖춘 컴퓨터 시스템
- 강한 인공지능 vs 약한 인공지능
- 강한 인공지능
- 다양한 지능의 복합체 (터미네이터에 등장하는 인조인간)
- 약한 인공지능
- 한 가지 기능에 특화된 인공지능 (현재의 인공지능, 인공지능 스피커, 알파고 등)
- 강한 인공지능
2. 인공 지능의 다양한 접근 방법
과학적 : 인간의 지능을 충분히 연구한 다음 그 원리를 충실히 모방하는 지능 기계 제작
공학적 : 쓸만한 지능 기계를 만들 수 있다면 굳이 인간의 지능 원리를 따르지 않아도 됨
(비행기 날개는 새의 날개를 그대로 모방하지 않는다)
-> 현재는 공학저 접근방법이 지배적입니다.
공학적인 방법론
- 규칙 기반 방법론
- 사람이 사용하는 규칙을 수집하여 프로그래밍 (if -else)
- 하지만 규칙을 위반하는 샘플이 꾸준히 발생해서 무리가 있음 (사람마다 글씨가 다름)
- 기계학습 방법론
- 현재의 주도권
- 충분한 데이터를 수집 -> 기계학습 모델이 학습하는 방법 (데이터-주도 패러다임)
3. 인공지능 공부를 위해 필요한 것
파이썬 라이브러리
넘파이(Numpy) : 다차원 배열 지원
맷플롯립(Matplotlib) : 데이터 시각화
인공지능 라이브러리
사이킷런(Scikit-learn) : 고전적인 기계 학습 지원
텐서플로우(TensorFlow) : 딥러닝 지원
케라스(Keras) : 텐서플로우를 한 단계 추상화한 라이브러리
파이토치(PyTorch) : 딥러닝 라이브러리
4. 요약
AI 정의 : agents that act intelligently (지능적으로 행동하는 에이전트)
AI 분류 : 규칙 기반 vs 학습 기반
감사합니다.
지적 환영합니다.