인공 지능
사람에게 이 그림이 주어진다면, 누구나 고양이라고 답변할 것이다. 하지만 사람이 어떤 사고 과정을 거쳐서 고양이라는 것을 알아냈는지는 미지의 영역이다. 어떻게 고양이인걸 아셨어요? 라고 물어봐도, 인간이 인지하지 못하는 '무의식'이 어떻게 작동했는지는 알 수 없다.
하지만 아기가 언어를 배우는 과정을 통해 어렴풋이나마 지식의 습득 과정을 파악할 수 있다. 한국에서 태어나서, 한국말을 하는 부모와 한국말을 하는 주변 이웃을 둔 아기는 커서 어느 언어로 말문을 뗄까? 절대 첫 마디가 프랑스어나 독일어는 아닐 것이며, 99.9%의 확률로 한국어일 것이다. 아기는 주변에서 주어지는 엄청난 양의 언어 데이터를 처리함으로서 언어를 배우기 때문이다.
그렇다면 아기가 아닌 컴퓨터에게도 잘 조직된 훈련 데이터를 입력시켜 지식을 습득하도록 할 수 있을 것이다. 이것이 바로 머신 러닝이며, 잘 조직된 훈련 데이터를 생성하기 위해 빅데이터에서 데이터마이닝을 통해 패턴이나 관계를 찾아내는 것이 필요하다. 그리고 이 과정을 통해 학습하여 스스로 프로그램을 작성하면서 주어진 목표를 달성해내는 것이 인공지능이다.
머신 러닝
머신러닝의 가장 기본적인 방법은 특성분류다.
인간 | 개 |
두 발로 걸음 | 네 발로 걸음 |
털이 복실복실하지 않음 | 털이 복실복실함 |
덩치가 큼 | 덩치가 작음 |
인간은 통계를 통해 컴퓨터에게 인간과 개의 차이점을 알려줄 수 있다. 그 후 컴퓨터에게 사진을 주고, 사진에서 대상이 가지고 있는 특성을 뽑아내도록 한다. 그리고 알고 있는 특성과 비교해서 인간과 개 중에 어떤 데이터와 더 가까운지 구별할 수 있도록 하는 것이다.
하지만 이 방법으로 교육시킨 컴퓨터가 두 발로 서는 강아지와 네 발로 기는 아기를 정확하게 구별할 수 있을까? 그렇기 때문에 특성 분류는 변형된 데이터를 모두 처리하기 위해서는 엄청난 양의 훈련 데이터가 필요하다.
어떤 이들은 인간의 신경세포인 뉴런에 관심을 돌렸다. 뉴런은 각 수상돌기에 주어지는 입력값을 가중치에 기반해 계산한 다음, 활성화 또는 비활성화라는 결과를 출력해낸다.이 방식을 활용해 인공신경망을 구현해내고자고한 최초의 시도가 퍼셉트론이다.
퍼셉트론은 가중치를 살짝만 바꿔도 출력이 1 아니면 0으로 변경되었기때문에 입력에 대한 가중치 계산이 어려웠다. 따라서 시그모이드 함수를 기반으로 아날로그적인 부동 소수점 수를 출력해낸다. 그리고 역전파를 이용해 가중치를 조정한다. 예를 들어 고양이(1)와 고양이가 아닌 것(0)을 구별해내는 인공신경망이 있다고 하자. 그러면 고양이의 사진을 주고, 예상 출력과 실제 출력을 비교해서 그 차가 가능한 0이 되도록 가중치를 조정한다.
인공 신경망또한 완벽한 기술은 아니다. 나쁜 데이터가 주어진다면, 어떤 결과가 나올지 결과를 예측하기가 쉽지 않다.
-- 확인문제 --
1. 인공지능과 머신러닝, 빅데이터의 관계에 대해 서술하시오.
2. 인공 신경망을 구성할 때, 입력 데이터에 대한 가중치를 구하기 위해 어떤 과정을 거치는지 서술하시오.
-- 정답 --
1. 인공지능은 스스로 판단을 내려 목표를 달성하는 프로그램이며, 이러한 인공지능을 학습시키기 위해 머신러닝 기법을 학습시킨다. 머신러닝을 위해서는 빅데이터에서 적절한 패턴이나 관계를 찾아 잘 조직된 훈련데이터를 입력시키는 것이 중요하다.
2. 입력에 대해 예상 출력과 실제 출력을 비교하여 가중치를 조정하는 역전파 방식을 활용한다.
'CS > BOOK' 카테고리의 다른 글
[컴퓨터 네트워킹 하향식 접근] 2. 애플리케이션 계층 - 과제와 질문 (1) | 2024.06.16 |
---|---|
[컴퓨터 네트워킹 하향식 접근] 1. 컴퓨터 네트워크와 인터넷 - 과제와 질문 (2) | 2024.06.13 |
[한 권으로 읽는 컴퓨터 구조와 프로그래밍] 13. 컴퓨터 보안 (1) | 2024.05.01 |
[한 권으로 읽는 컴퓨터 구조와 프로그래밍] 12. 컴퓨터는 어떻게 멀티태스킹을 할까? (0) | 2024.04.30 |
[한 권으로 읽는 컴퓨터 구조와 프로그래밍] 11. 알고리즘 아이디어 (0) | 2024.04.24 |