1.인공지능 (Artificial Intelligence)
1) 인공지능의 개요
인간이 지닌 지적 능력의 일부 또는 전체를 인공적으로 구현한 것.
=> 인간의 지능적인 행동을 컴퓨터가 수행할 수 있도록 만든다.
2) 인공지능의 원리
인공지능은 빅 데이터, 즉 매우 많은 자료를 바탕으로 작동한다. 입력되어 있는 많은 양의 데이터를 상황에 따라 분리하여 기억한다. 인공지능은 최적의 판단을 할 수 있도록 기준을 만든 후, 그것에 대한 알고리즘을 기반으로 입력에 대한 출력 값을 얻을 수 있다.
예시) 자동 번역기: 언어의 문법을 완전히 이해한다기보다 번역이나 회화 사례들에 대한 데이터를 바탕으로 문장의 패턴을 유추하여 작동함
*인공지능의 분야
인공지능 ⊃ 기계학습(머신러닝) ⊃ 인공신경망 ⊃ 딥러닝
기계학습: 기본적인 규칙이 주어진 상태에서입력받은 데이터를 활용하여 스스로 학습한다.
인공신경망: 인간의 뉴런 구조를 모방한 기계학습 모델
딥러닝: 데이터 표현을 학습하기 위한 심층적인 처리 방식
3) 인공지능 기술의 방향
본래 딥러닝 기술은 복잡하고 많은 양의 계산이 필요한데, 병렬 처리에 있어서 GPU가 CPU보다 우수하기 때문에 인공지능 데이터를 더 빠르고 효율적으로 처리 할 수 있다. 이처럼 GPU가 발전함으로써 컴퓨터의 연산력이 좋아졌고, 딥러닝 기술이 안정적으로 활용될 수 있다.
또한, 빅 데이터를 활용함으로써 딥러닝에 필요한 자원이 많아졌다. 딥러닝을 통해 구현되는 인공지능은 데이터를 기반으로 하기 때문에 양질의 데이터가 많을수록 결과물의 완성도가 높아진다.
이러한 환경 변화로 인해 더 향상된 성능의 인공지능을 구현할 수 있으며, 기술이 발전함에 따라 완벽한 구조를 가진 인공지능이 생길 것이다.
4) 인공지능 구현에 쓰이는 기술
4-1) 인공신경망 (Artificial Neuron Network)
- 인간의 신경을 모방한 것으로, 인간의 뇌에서 여러 개의 뉴런이 연결되면서 복잡한 연산을 하는 것처럼 두뇌의 정보 처리 과정을 본떠 만든 알고리즘이다.
4-2) 퍼지 이론 (Fuzzy Theory)
- 모호하거나 불확실한 상태를 판단, 결정하는 과정에 대해 정량적(수학적)으로 접근하려는 이론을 말한다.
4-3) 전문가 시스템 (Expert System)
- 방대한 지식 체계를 규칙으로 표현한 것으로 컴퓨터에 데이터를 입력하면 정해진 규칙에 따라 판단을 내린다. 규칙의 경우의 수가 많을수록 정확도가 높다.
5) 인공지능의 역사
‘인공지능’이라는 말은 1955년 컴퓨터 과학자 존 맥카시(John McCarthy)의 「지능이 있는 기계를 만들기 위한 과학과 공학」이라는 논문에서 처음 등장했다. 이와 비슷한 시기인 1950년 영국의 수학자 앨런 튜링은 기계도 사람처럼 생각할 수 있다는 주장을 담은 「계산 기계와 지능」이라는 논문을 발표했다. 이러한 튜링의 주장이 인공지능의 개념적 기반이 되었으며, 인공지능의 역사는 시작됐다.
이후, 끊임없는 소수의 연구로 인하여 프랭크 로센 블래트의 신경망 이론이 등장하였다. 이것은 생각하는 기계를 만들 수 있을 것이라는 발상으로 고안된 이론이다. 신경망 이론은 인간의 두뇌 신경조직을 모델로 하여 뉴런을 대규모로 상호 연결한 후, 연결 강도를 조절하면서 문제를 해결하는 방식이다. 이러한 연구들을 통해 머신러닝, 딥러닝 기술이 등장함으로써 오늘날의 인공지능 기술이 되었다.
6) 인공지능의 예시
⓵ 딥마인드 알파고: 2016년 3월 이세돌과의 대결로 인해 인공지능에 대한 국내의 관심을 끌었다. 이후 2017년 커제(중국의 바둑 선수)를 상대로 3전 전승하였다.
⓶ 삼성전자 빅스비: 삼성전자가 공개한 고성능 인공지능 비서 애플리케이션이다. 사진을 찍어 물체를 자동으로 인식할 수 있으며, 기존에 있던 음성 인식 AI인 삼성전자 S 보이스가 발전된 버전으로써 음성 인식률이 상당히 개선되었다고 한다. (애플 버전으로는 Siri가 있다.)
⓷ IBM 딥마인드, 딥블루: IBM이 개발한 딥마인드가 유럽 체스 챔피언인 가리 카스파로프와의 대결에서 전패를 겪고, 더욱 업그레이드 된 딥블루를 만들어 가리 카스파로프에게 재도전하여 승리했다.
⓸ COMPAS: 미국의 ‘노스포인트’가 개발한 빅데이터 분석 인공지능이다. 유사한 다른 범죄자들의 기록과 특정 범죄자의 정보를 빅데이터 분석하여 범죄자의 재범 가능성을 계량화한다. 이는 재범 확률 계산뿐 아니라, 실제 범죄가 언제 어디서 어떤 사람에게 일어날 가능성이 큰지 예측할 수 있다.
⓹ 페이스북 딥페이스: 얼굴 인식 인공지능
2. 머신러닝
1) 기초원리와 이해
- 머신러닝(기계 학습): 인공 지능의 한 분야로 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야이다.
- 기초원리: 수많은 정보들을 주고 이를 집합으로 만든다. 이 집합이 데이터가 러닝 모델로 넘어가게 된다. 여기서 러닝 모델이란 커다란 함수 같은 것이다. 러닝 모델을 통과한 데이터는 한 가지의 값으로 정형화 되어 나타난다.
2) 머신러닝의 종류
- 지도학습, 비지도학습, 강화학습으로 나눌 수 있다.
2-1) 지도 학습
- 지도학습 중 가장 기본이 되는 알고리즘은 선형 회귀이다. 이것은 각 정형화된 레이블이 찍혀있는 점그래프를 그리고 도표에 직선 하나를 무작위로 긋는다. 이후 기계가 레이블을 분류 할 수 있도록 기울기를 세밀하게 조정한다. 레이블이 분류가 되는 직선을 찾았을 때, 그 직선을 기준으로 새로운 값을 넣었을 때 그 값이 어디에 있는 것인지 기계가 알아서 분류한다.
2-2) 비지도 학습
- 비지도 학습에는 선형학습에 대한 레이블이 없고 시스템이 아무런 도움 없이 학습한다. 주로 군집을 지어서 어떤 조건의 군집이 있는지 분류를 하고, 이는 선형 회귀와 다르게 계층 군집 알고리즘을 이용해서 세분화 할 수 있는 장점이 있다.
2-3) 강화 학습
- 강화학습은 에이전트가 주어진 환경에 대해 어떤 행동을 취하고, 어떤 보상을 얻으면서 학습을 진행한다. 이때 에이전트는 보상을 최대화하도록 학습이 진행된다. 즉, 강화 학습은 동적인 상태에서 데이터를 수집하는 과정까지 포함된 알고리즘이다.
3) 머신러닝의 활용
- 악성 행위 탐지와 공격 저지가 가능하다.
- 모바일 엔드 포인트 분석이 가능하다.
- 보안 반복 작업 자동화가 가능하다.
- 사람의 분석 능력 및 결과 보강이 가능하다.
- 제로데이 취약점 제거가 가능하다.
4) 머신러닝 사용 시, 문제점
4-1) 비즈니스에 대한 이해 부족
- 머신러닝 모델을 사용하는 작업자가 머신러닝이 해결하고자 하는 비즈니스 문제를 이해하지 못할 경우 프로세스에 오류가 발생 할 수 있다.
4-2) 낮은 데이터 품질
- 데이터 품질이 좋지 않으면 머신러닝은 효과를 발휘하기가 어렵다. 데이터 과학자를 비롯해 정보를 다루는 전문가들의 노력에도 불구하고 저품질 데이터는 머신러닝 모델을 정상 궤도에서 벗어나게 하는 주요 원인이다.
4-3) 잘못된 머신러닝 사용
- 머신러닝의 유행으로 최선의 방법이 아닌 경우에도 머신러닝을 사용하는 경우, 의도한 문제가 아닌 다른 방향으로 이어질 수 있다. 머신러닝의 목적과 특징을 잘 활용하는 것이 중요하다.
3.딥러닝 (Deep Learning)
1) 딥러닝이란?
- 머신러닝의 특정한 한 분야로서 연속된 층(layer)에서 점진적으로 의미 있는 표현을 배우는 데 강점이 있으며, 데이터로부터 표현을 학습하는 방식이다.
- 신경망(neural network) 모델을 사용하여 표현 층을 학습한다.
* 머신러닝과 딥러닝의 차이
머신러닝
각 그림의 특징을 컴퓨터에 인식시키고 학습시킴으로써 문제를 해결하는 방식
=> 물체를 인식할 때나 규칙을 인식해 물체를 검출할 때 머신러닝 기술을 사용
딥러닝
인간이 하던 작업이 생략된다. 데이터 원본을 그대로 주고, 알고리즘이 회선(심층) 신경망을 이용해 스스로 분석한 후 답을 내는 방식
=> 추상화된 정보 추출, 오차율 이용
2) 뉴런(Neuron)과 인공 뉴런(Artificial Neural)
- 생물체의 신경계를 이루는 신경 세포
- 가지돌기로부터 신호를 받아들여 축삭돌기를 거쳐서 축삭말단으로 전달한다.
- 이러한 뉴런을 이용해 인간은 모든 자극에 대해 신호를 전달 받는다.
*뉴런의 구조
<그림 출처: Never Blog 안경잡이개발자, 참스터디 iAIDOL>
하나의 뉴런은 입력(X)을 받아서 출력(Y)을 만들어 다음 뉴런으로 전달하게 되는데, 실제로는 효과적인 출력 값을 만들기 위해 활성화 함수를 함께 사용한다.
* 수식 : Y = Activation Function(X * 가중치 + 편향)
3) 활성화 함수 (Activation Function)
- 출력 값을 인공신경망에 적합하게 바꿔주는 역할을 수행한다.
- 수많은 뉴런을 모아 가중치와 편향값을 적절히 조절하면서 원하는 결과값 Y를 얻는다.
- 대표적인 함수: 시그모이드(Sigmoid), ReLU
3-1) 시그모이드 함수
선형인 멀티퍼셉트론에서 비선형 값을 얻기 위해 사용하기 시작했다.
<그림 출처: https://reniew.github.io/12/>
sigmoid는 신경망 초기에는 많이 사용되었지만, Gradient Vanishing 현상과 함수값 중심이 0이 아닌 단점 때문에 최근에는 잘 사용하지 않는다.
*시그모이드 (sigmoid) 함수 특징
- 함수값이 (0, 1)로 제한
- 중간값은 1/2
- 매우 큰 값을 가지면 함수값은 거의 1이고, 매우 작은 값을 가지면 거의 0이다.
3-2) ReLU 함수
<그림 출처: https://reniew.github.io/12/>
ReLu함수는 최근 가장 많이 사용되는 활성화 함수이다.
*ReLU 함수 특징
- x>0이면 기울기가 1인 직선이고,x<0이면 함수값이 0이 이다.
- sigmoid 함수와 비교 시 학습이 훨씬 빨라진다.
- 비용이 크지 않고, 구현이 매우 간단하다.
- x<0인 값들에 대해서는 기울기가 0이기 때문에뉴런이 죽을 수 있다. (단점)
4) 심층신경망 (Deep Neural Network)
매우 많은 은닉층의 심층적인 신경망을 통한 학습
<그림 출처: Never Blog 안경잡이 개발자>
입력층: 초기의 데이터 세팅된 뉴런층
은닉층: 데이터가 가져진 뉴런층
출력층: 얻고자 하는 데이터가 담긴 뉴런층
* 전파 (Propagation)
- 각 뉴런들의 매우 많은 가중치와 바이어스 값을 다음 층의 뉴런에게 전파하여 가중치와 바이어스 값을 갱신하는 기술
- 입력층에서 출력층 방향
* 역전파 (Backpropagation)
- 결과값에서 오차가 발생하면 해당 오차만큼 앞쪽 층으로 다시 전파시키면서 가중치를 갱신하는 기술
- 출력층에서 입력층 방향