출처 : Unsplash
인공지능은 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구 활동입니다.
일반적으로 컴퓨터 프로그램이 하는 일들은 입력되어 있는 로직을 바탕으로 동작하기에 단순한 작업들을 수행하기에는 뛰어납니다.
그러나 더 나아가 사람의 말을 이해하거나 사람 얼굴을 인식하는 등의 작업들은 단순히 개발자가 짠 로직만으로는 성능이 많이 떨어집니다. 수많은 케이스가 입력되어도 정확도가 높은 결과를 제시하기 위해선 사람의 뇌와 같이 지능적인 작업을 하는 도구가 필요합니다.
옛날부터 많은 프로그래머들과 학자들이 인공지능을 구현하기 위해 열심히 연구했습니다. 현재 인공지능을 구현하기 위한 방식으로는 크게 2가지로 나뉘는데요. 바로 규칙 기반 시스템(Rule-based system)
과 머신러닝
입니다.
규칙 기반 시스템은 **Rule(규칙)**을 미리 프로그래머가 작성하는 방식입니다.
하지만 규칙 기반 시스템은 수많은 경우의 수에 대응하는 데는 한계가 명확합니다. 그래서 세계관이 좁은 문제를 해결하려고 할 때 사용됩니다. 대표적으로 체스게임(바둑에 비해 단순), 게임 캐릭터의 활동 등이 있습니다.
하지만 세계관이 넓고 문제가 정말 다양한 경우에는 사람처럼 학습을 해야 더 높은 정확도의 결과를 도출할 수 있습니다. 그래서 컴퓨터가 직접 학습할 수 있는 머신러닝(Machine Learning)이라는 방식이 인정을 받기 시작한 거죠! 머신러닝은 프로그래머가 만든 모델을 바탕으로 해서 들어오는 데이터를 학습하고 분석합니다.
모델 안에는 다양한 알고리즘이 적용되어 있고 학습할 수 있는 로직이 들어가 있습니다.
<aside> 💡 머신러닝에 대해 조금 더 알아보고 싶다면 생활코딩을 적극 추천합니다. 코드를 따로 치지 않고도 머신러닝의 전반적인 지식들을 알려주는 수업이 최근에 오픈했어요💪🏼
</aside>
출처: http://www.intechopen.com/books/artificial-neural-networks-architectures-and-applications/applications-of-artificial-neural-networks-in-chemical-problems
효율이 높은 머신러닝을 구현하기 위해서 머신러닝 연구자들은 여러 가지 알고리즘을 연구합니다. 그러다가 인간의 뇌 구조(뉴런의 연결)에 영감을 받았고 '인공 신경망'이라는 알고리즘을 찾아냅니다(현재 대부분의 머신러닝 알고리즘은 '인공 신경망' 알고리즘을 사용합니다.)
<aside> 💡 인공 신경망 기술의 핵심은 층층이 들어있는 뉴런(노드)입니다. 입력 값을 인공 신경망 모델에 넣으면 순차적으로 노드들을 타면서 수치가 계산되고 최종적으로 결과 값을 반환합니다.
</aside>