|
인공지능을 공부할 필요가 있어서 서점을 이리저리 둘러보다가 결국 골라든 책이다. 어느 정도 수학을 공부하였지만 인공지능에 대해서는 전혀 몰랐던 내 수준에서 인공지능이라는 새로운 개념을 이해하기에 결과적으로 훌륭한 책이었다. 인공지능에서 생각보다 복잡한 수학을 사용하고 있다는 점이 특히 놀라웠다. 인공지능이라는 개념 안에 결국 머신러닝, 강화학습, 딥러닝 등 다양한 주제들이 포함되어 있기에 아직은 갈 길이 먼 것으로 보인다. |
|
머신러닝은 참 어렵다. 수학과 IT 지식 모두를 약간 있어야 하고 통게도 알야야하고... 그중앳허도 이책은 조금은 이해기 쉽게 스여진것 같다. 물론 여러 사람들을 모두 만족시킬수는 없겠지만 초심자에게는 좀 부담을 적게 가지고 저해볼수 있을것 같다. 이 책을 보고나서 다음으로 좀 난이도 있ㄴ느 책을 보면 개념 정립이나 활용 모두에 도움이 될것 같다. 절반쯤 본것 같은데 어느정도는 이해를 하고 잇다. 물론 좀 지나면 기억하기 어렵겟지만 |
|
언론 등에서 4차 산업혁명이라는 단어가 많이 언급되고는 있으나, '4차 산업'과 '4차 산업혁명'을 구분하지 못하는 사람도 여전히 많다. 특히 이 책의 제목에 언급된 인공지능과 딥러닝은 친숙하게 느껴질 정도로 자주 등장하는 단어이다.
이 책은 4차 산업혁명의 핵심을 이루는 인공지능의 개념을 이해하기에 좋은 책이라 생각한다. 다만, 2부의 통계와 분류 부분은 공업수학이나 수치해석 등의 과목을 공부한 사람이어야 이해할 수 있겠으나, 이 부분은 건너뛰고 읽더라도 인공지능의 개념을 파악하는 많은 도움이 될 것이다. |
|
머신러닝과 딥러닝 실무를 위해 그나마 쉽게 접근할 수 있는 책이라는 평이 있어서 보았는데, 기본 개념을 잡기에는 괜찮았다. 책 앞부분에는 최초의 인공신경망 퍼셉트론부터 인공지능의 발전 과정을 학계에서 수행했던 연구 위주로 설명한다. 그리고 구체적으로 머신러닝과 딥러닝 분야의 알고리즘과 이슈들을 어떻게 해결해왔는지 그 방법을 서술한다. 초기에 퍼셉트론 개념의 인공 신경망은 그 층이 늘어나면서 출력층의 정보가 역전파되는 과정에서 판별력이 소멸되거나 모델의 해가 국부적인 최소값을 벗어나지 못하거나 또는 최적해로 수렴하는데 수많은 반복 계산이 발생하는 문제인 경사감소소멸 문제가 발생했다고 한다. 이것을 가장 간단하게 해결하는 방법으로는 출력층의 정보를 계속 메모리에 기억해서 역전파에 이용하는 장단기 기억법(LSTM)이 있다고 한다. 머신러닝은 종종 데이터 마이닝과 혼용되기도 하는데, 그 이유는 머신러닝에서 사용하는 분류나 군집 같은 방법을 통계학 관점인 데이터 마이닝에서도 똑같이 사용하기 때문이라 설명하고 있다. 그러면서 지도학습에는 분류와 예측 모델, 비지도학습은 군집모델이 있다고 언급한다. 분류 모델에는 알고리즘에 따라 kNN, 서포트 벡터 머신, 의사결정 트리 모델이 있고, 예측 모델에는 로지스틱 회귀 같은 모델이 있으며, 군집 모델에는 군집화 알고리즘 관점에서 평할 또는 분할 기반의 군집 기법과 계층적 군집 기법이 있는데, 전자는 k-means, k-medoid, DBSCAN 등이, 후자는 병합적 군집과 분할적 군집이 있다고 언급한다. 이러한 알고리즘에 대해 하나하나 설명해주고 있는데, 일단 기본이 되는 통계와 확률 이론을 알려주고 있다. 보통 선형회귀식을 구할 때는 일반적으로 최소 제곱법을 이용한다면서, 주어진 독립변수에 대해 임의의 계수를 가지는 어떤 함수식으로 예측한 결과값과 실제 값의 차이를 제곱해서 모두 더한 값이 최소가 되는 함수식이 가장 타당한 회귀식이라는 이론을 설명해준다. 통계학이나 데이터 마이닝에서 사용되는 선형회귀분석은 머신러닝 진영에서는 데이터 세트를 가지고 학습을 하는 지도학습 모델로 분류하고 있으며, 특히 선형회귀분석은 지도학습 중에서도 예측 모델이라 언급한다. 그리고 선형회귀의 종속변수는 일반적으로 연속적인 정규분포를 가지는데, 종속변수가 예/아니오, 합격/불합격, 구매/비구매 같은 범주형으로 표현될 때는 로지스틱 회귀 분석 방법을 사용한다고 설명한다. 로지스틱 회귀 분석이라고 부르는 이유는 출력 값이 [0,1]을 경계로 결정되는 로지스틱 또는 시그모이드 함수를 회귀식으로 사용하기 때문이라 한다. 또한 확률 추정에서는 빈도론과 베이지안 확률론을 사용하는데, 빈도론은 말 그대로 여러 번의 실험을 통해 관찰된 사건의 확률을 가지고 가설을 검증하는 것이라 한다. 사건이 독립적이고 반복적이며 그 확률의 분포가 정규분포를 보이는 문제에 잘 맞는다면서 도박에서의 승률 계산, 환경 변화에 따른 농작물 수확량 계산, 보험금 계산 등에 활용된다고 언급하고 있다. 한편 베이지안 방법은 추론된 가설에 대한 사후확률을 구하기 위해서 사전에 주관적 지식으로 예상한 가설에 대한 사전확률에 관찰된 데이터로 계산한 가능성 정도를 곱하고 모든 가설에 대해 증거가 발생될 확률로 나누면 된다고 한다. 베이지안 방법은 수학적으로 증명된 조건부 확률 정리를 기반으로 가설을 검증하는데, 이렇게 관찰된 데이터를 가지고 조건부로 가설을 검증하기 때문에 확률 모델이 명확히 설정되어 있는 한 베이지안으로 검증된 가설은 항상 타당하다고 본다고 설명하고 있다. kNN 모델의 경우 학습을 사전에 하지 않고 미뤄두고 있다가 새로운 데이터의 태스크 요청이 오면 그 때 일반화를 수행한다고 설명한다. 기본적인 개념은 새로운 데이터가 어느 그룹에 속하는지 분류하기 위해 그 데이터에 가장 가까이에 있는 학습 데이터가 속한 그룹을 알아보는 것인데, 이를 위해 먼저 레이블된 학습 데이터들의 특성을 정량화한 후 좌표공간에 표현하는 작업이 필요하다고 언급한다. 이러한 과정 중에 발생하는 언더피팅은 학습할 때나 테스트 및 검증을 할 때 모두 에러률이 높은 경우를 나타내며, 아직 데이터를 판별할 수 있는 데이터 특성을 찾아내지 못했다는 이야기라 설명한다. 이와 반대로 오버피팅 문제는 무시해야 할 노이즈나 아웃라이어 데이터까지 모두 정상적인 것으로 인식하고 학습하면서 생긴다면서, 이 때문에 학습 에러는 낮지만 왜곡된 학습 모델이 결정되면서 검증 시 에러율이 높아진다고 한다. 일반적으로 오버피팅 여부를 확인하기 위해 확보한 데이터를 보통 7:3이나 9:1 정도로 나눠서 학습과 검증을 통해 에러율을 비교한다고 설명한다. 이어서 서포트 벡터 머신에 대해 설명하고 있는데, 이것은 지도학습 모델로서 주로 다루고자 하는 데이터가 2개 그룹으로 분류될 때 사용한다고 언급하고 있다. 서포트 벡터 머신은 두 그룹을 구별하는 직선 식을 찾되, 직선 식을 사이에 두고 가능하면 두 그룹이 멀리 떨어져 있도록 하는 직선 식을 구하는 것이라 한다. 왜냐하면 두 그룹이 멀리 떨어질수록 나중에 입력된 데이터를 판별하는 데 더 높은 신뢰도로 예측할 수 있기 때문이라 한다. 또한 의사결정 트리는 지도학습 모델에 사용되는데, 주로 불연속 데이터를 다루며 노이즈가 발생해도 중단되거나 엉뚱한 결과를 보여주지 않는 매우 강건한 모델이라 한다. 대표적인 적용 사례는 환자의 진료기록을 토대로 증상을 유추하는 경우, 대출을 받고자 하는 사람의 신용을 평가하는 경우 등이 있다고 설명한다. 의사결정 트리의 표준적인 알고리즘은 ID3이며, 이를 기반으로 의사결정 노드에 있는 줄기를 효율적으로 제거하고 합치는 프루닝 기법을 도입해 C4.5 알고리즘을 만들었다고 한다. k-means 클러스터링은 레이블이 없는 데이터들을 군집화하는 가장 간단한 비지도학습 중 하나이며, 여기에서 다루는 레이블이 없는 데이터는 몇 개의 클러스터가 존재하는지 모르기 때문에 분류할 클러스터의 수를 미리 정하게 된다고 한다. 이렇게 분류할 클러스터의 수가 정해지면 각 클러스터마다 초기 중심을 정한다고 설명한다. 이러한 초기 중심의 의미는 클러스터를 대표하는 가상의 레이블인데, 각 학습 데이터가 자신이 속한 클러스터를 결정하는 데 기준점이 되는 곳이라 한다. 초기 중심은 임의로 정해지며, 최적의 중심을 구하는 알고리즘이 계속 실행된다고 한다. 모든 데이터는 임의로 정한 k개의 초기 중심까지 거리를 계산하고 가장 가까이에 있는 중심을 자기 클러스터의 중심이라 생각하게 되는데, k개의 클러스터가 정해지면 각 클러스터에 속한 학습 데이터의 좌표 값 평균을 구해 이를 새로운 중심으로 정한다고 한다. 다시 모든 학습 데이터는 새롭게 정의된 k개의 중심까지 거리를 계산하고 가장 가까운 중심을 자기가 속한 클러스터로 정의하게 되는데, 이를 반복하면서 데이터가 클러스터의 소속을 바꾸는 경우가 생기지 않으면 종료된다는 것이다. 이것은 구형으로 뭉쳐져 있는 볼록한 데이터 세트에서는 비교적 잘 적용되나, 오목한 형태의 군집 모델은 특성을 구별해내는데 문제를 보인다고 한다. 이것의 변형으로 k-mediods 알고리즘이 있는데, 클러스터의 중심을 좌표평면상 임의의 점이 아니라 데이터 세트의 값 중 하나를 선정하게 된다고 한다. 이것은 아웃라이어와 노이즈 처리가 매우 우수하나 계산량이 많아진다고 한다. 이어서 DBSCAN 클러스터링을 설명하고 있는데, 밀도있게 연결되어 있는 데이터 집합은 동일한 클러스터라 판단하는 알고리즘이라 한다. 일정한 밀도를 가지는 데이터의 무리가 마치 체인처럼 연결되어 있으면 거리의 개념과는 관계없이 같은 클러스터로 판단한다는 말이다. 그 다음으로 분할적 군집을 설명하고 있는데, 모든 데이터세트가 단일한 클러스터에 속한다고 정의하고 시작하며 가장 관련성이 없는 관계를 분리하는 작업을 반복한다고 언급한다. 이와는 다른 병합적 방법이 분할적 방법보다 직관적이고 간단하다고 말하는데, 분할적 방법은 상위 클러스터에서 잘못된 결정이 하위 클러스터로 파급되는 정도가 크기 때문이라 한다. 이어서 마코프 프로세스를 설명하고 있는데, 지금 취할 행동에 영향을 주는 것은 과거의 사건이 아니라 미래의 상태와 그에 따른 보상이란 정의 하에 상태와 상태변이확률로 표현한다고 말한다. 현재 상태의 가치는 현재 상태의 보상과 다음 단계 상태의 확률적 평균 가치의 합으로 계산하며, 따라서 각 상태의 가치를 정량화하기 위해서는 마코프 프로세스에 추가적으로 보상의 개념이 필요하다고 말한다. 보상이란 어떤 상태에서 다음 단계의 상태로 이동하는 행동을 취할 때 환경으로부터 피드백 받는 스칼라 실수 값으로 표현된다고 한다. 여기에 미래가치의 현재가치로의 환산 값이 들어가는데, 현재 가치는 미래가치가 축적된 것으로 이때 미래 가치를 현재기준으로 어느 정도의 가중치로 고려할까 판단하게 된다고 한다. 여기에 사용하는 가중치를 감쇄계수라 하며, 0과 1 사이의 값이라 한다. 또한 어떤 상태를 만나면 행동을 취하게 되는데, 각 상태에 따라 취할 수 있는 행동을 연결해주는 함수를 정책이라고 표현하고 있다. 이 책의 후반부에는 딥러닝을 설명해주고 있는데, 강화학습의 경우 사건이 전개되면서 받는 피드백을 통해 학습하기 때문에 순차적 사건에 대한 의사결정을 내릴 때 주로 사용한다고 설명한다. 2010년대 들어서면서 딥러닝 발전을 가속화 시킨 것이 바로 ReLU라는 활성화 함수와 드롭아웃 알고리즘이라 하는데, ReLU는 입력값이 0보다 작으면 함수 값이 0을 나타내고 0보다 크면 1차 함수로 표현된다고 한다. 이것의 장점은 경사감소소멸을 줄일 수 있다는 것이며, 오버피팅을 줄이는 규제화 알고리즘이 바로 드롭아웃 알고리즘이라 한다. 이것은 각 층에 있는 노드를 어느 정도 확률로 제거할 것인지, 그 확률 기준으로 임의로 제거하고 축소된 규모의 신경망으로 학습하는 절차를 거치는 것이라 한다. 컴퓨터 비전에서는 주로 컨볼루션 신경망 알고리즘, 자연어 처리에는 순환신경망이 주로 사용되는데, 은닉층의 뉴런 수와 은닉층의 개수를 정하는 것은 신경망을 설계하는 사람의 직관과 경험에 의존하게 된다고 한다. 은닉층에서 뉴런 수가 너무 많으면 오버피팅이 발생하며, 뉴런 수가 너무 적으면 입력 데이터를 충분히 표현하지 못하는 경우가 발생한다는 것이다. 또한 은닉층의 개수가 너무 많으면 효율성 관점에서 크게 도움이 되지 않을 수도 있다면서, 예를 들어 은닉층 수를 2배로 늘렸을 경우 컴퓨팅 시간은 400% 증가했는데 결과의 정확성은 10% 증가하는 경우를 들고 있다. 심층 신뢰망의 기본적인 개념은 제한된 볼츠만 머신(RBM)을 기반으로 일종의 비지도학습인 사전학습을 통해 가중치를 어느 정도 정확해에 근접한 값으로 보정해 놓고, 마지막 튜닝 과정을 통해 정확해에 가장 가까운 최종 가중치를 계산하는 방법이라 한다. 레이블이 없는 데이터를 비지도학습인 사전학습에 사용해 정확해에 근접한 가중치를 얻는데 활용한다고 설명하고 있다. 전반적으로 머신러닝과 딥러닝 알고리즘에 대해 그 원리를 어느 정도 파악하는데 도움이 되는 책이다. |
|
볼만하고 쓸만하긴한데 동영상강의나 그런것도 같이 진행해줬으면 좋겠네요. 동영상강의나 그런것들이없고 책 자체의 난이도도있어서 초보자를 위한 내용은 아니라고 생각합니다. 다만 책 본편의 내용은 확실히 설명이 자세히되어있으며 사진도 많이 첨부되어있고 충실한편이라 공부에 도움은 될수 있을것 같습니다. 초보자도 더 쉽게 볼수있게 개정된다면 다음에 기회가될때 구매의사는 있습니다 |