인공지능 최적화 - 이공학적 설계를 위한
이인호 지음 / 북스힐 / 2023년 4월
평점 :
장바구니담기


우선, 책에서는 인공지능/최적화 기법의 필요성과 해당 역사적 배경과 용도를 집중적으로 설명한다.

 

왜, 인공지능/최적화, 이 기법이 이공학적 설계에 필요한지 설명한다. 2012년 이후 인공지능 기술이 각광 받는 이유를 자세히 설명한다. 뿐만 아니라, 저자는 인공지능 기술 발전의 과학적 의미를 따진다. 우리는, 왜, 지금, 인공지능에 몰두하는지 설명한다. 이공학도에게 특별히 인공지능 기술이 필요한 이유를 설명한다.

 

딥러닝 필수 항목, AlexNet에서 사용되었던, relu 함수, dropout, CNN, Cuda, data augmentation, multi layers 등 주요 항목을 각각 살핀다. 과거, 인공신경망에서 학습이 어려웠던 문제를 지적한다. 아주 간단한 예제를 통해서 '기울기 소실 문제(vanishing gradient problem)'을 극복할 수 있음을 보여준다. 또한, 과적합(overfitting) 문제를 해결할 수 있음을 보여준다. 즉, 학습하지 않은 데이터에 대해서도 개발된 모델이 좋은 추론을 할 수 있음을 보여준다.

 

그 다음, 책에서는 '아나콘다' 설치(즉, 파이썬 개발 환경)와 더불어 '주피터 노트북'을 활용한 배경을 설명한다. 초보자가 어떻게 각자의 컴퓨터에 '아나콘다'를 설치하는지 자세히 설명한다. 독자가 NVIDIA GPU를 활용할 수 있는 경우, GPU 장비의 유용성에 대해서도 토의한다. 저자는 다양한 실습을 통해서 인공지능 기술의 유용성을 독자 스스로가 깨우치기를 희망한다. 사실, 저자는 독자에게 어느 정도 수준의 파이썬 '언어 구사력'을 요구하고 있다. 파이썬 언어에 익숙하지 않을 경우, 줄 단위로 파이썬 언어를 공부할 것을 요구한다. 인공지능과 파이썬 언어 공부를 동시에 수행할 수 있다. 

 

세번째, 책에서는 기본적인 regression, classification 방법들(discriminant models)에 대해서 실습을 진행한다. 'X, y'를 동시에 필요로 하는 데이터에 대해서 실습한다. 'X--> y' 사이의 인과관계에 집중한다. 특히, 트리 기반 알고리즘들의 우수성에 대해서 토의한다. 다시 말해서, 특성 중요도(feature importance)를 쉽게 뽑아 볼 수 있고, 해당 알고리즘이 '화이트 박스(white box)'에 해당함을 설명한다. 저자는 인공신경망 구조가 '블랙박스(black box)'라는 것과 잘 대조가 됨을 명시적으로 지적한다.

 

네번째, 연속적으로 변화하는 물리량들(음악, 이미지)에 대해서 딥러닝(deep learning, 심층학습)의 유용성에 대해서 토의한다.

특히, 딥러닝을 활용한 생성모델(generative models)의 유용성에 대해서 토의한다. 'X, y'를 동시에 필요로하는 discriminant models과 달리, 'X'만 필요로하는 generative models에 대해서 학습한다. 저자는 생성모델이 이공계 문제 풀이에 어떻게 적용될 수 있는지에 대해서 토의한다. 데이터를 압축하는 과정에서 데이터의 암호화가 가능함을 보여준다. 저자는 '차원의 저주(curse of dimensionality)'를 예를 들어 자세하게 설명한다. 아울러, 데이터의 압축이 가지는 의미를 자세히 설명한다. 저자는 선형적으로 데이터를 압축할 경우가, 데이터 편차를 가장 잘 설명할 수 있는, 주성분 분석 방법임을 지적한다. 저차원으로 데이터를 변환하는 것의 중요성에 대해서도 토의한다. 비선형적으로 데이터를 압축(암호화)할 경우가 자동암호기(auto encoder)임을 강조한다. 나아가, 변분자동암호기(variational auto encoder)에 대해서도 실습한다. 저자는 데이터에 대한 자동적인 암호화가 가능함을 지적한다. 이러한 암호화 과정은 생성모델의 근간이 됨을 실습을 통해서 확인시켜준다.

 

Monte Carlo dropout을 활용한 베이즈 추론(Bayesian inference)에 대해서 논의한다. 즉, 평균값과 편차를 동시에 예측하는 유용한 방법에 대해서 토의한다. 저자는 데이터가 추가됨에 따라서 더 합리적인 추론이 수행할 수 있음을 보여준다. 즉, 저자는 축차합리성을 논의한다. 데이터의 추가로부터 보다 더 합리적 추론이 가능함을 보여준다. 저자는 데이터로부터 정보를 얻어내는 기계학습 근간의 원리를 설명한다. 저자는 베이즈 추론(Bayesian inference)의 유용성과 한계를 각각 지적한다.

딥러닝 방법이 어떻게 이미지 처리에 활용되는지 자세히 토의한다. 저자는 노이즈 제거, 초고해상도 화질을 어떻게 얻어내는지를 실습을 통해서 설명한다. 

 

다섯째, 이공학적 설계 문제 풀이에 도전한다. 이를 위해서, simulated annealing, particle swarm optimization, genetic algorithms, replica-exchange algorithm (super simulated annealing)등 매우 다양한 최적화 방법들을 소개한다. 아울러, 병렬 컴퓨팅(MPI)의 중요성에 대해서도 토의한다. 

 

아래 URL에서 책에 나오는 실습 프로그램들을 볼 수 있다. (복사하여 연습할 수 있다.)

 

https://github.com/inholeegithub/summer2022/blob/main/ML/20210107/20230422_ai_optimization_design_wo.ipynb

 

저자는 물리학을 전공한 사람답게, 아주 명쾌하게, 인공지능 기술이라는 것이 사실상 최적화 기법의 한 부류라고 설명한다. 한 발 나아가, 현실적인 목적함수(objective function)의 설정에 대해서 고민한다. 사실, 인공지능에서 목적함수의 설정은 매우 중요하다. 저자는 표현식(representation), 평가(evaluation), 최적화(optimization)라는 세가지 인공지능 요소들에 대해서 집중적으로 설명한다. 

 

인공지능이 실제로 유용한지를 평가하는 방법이 "evaluation"이다. 이를 통해서 개발된 인공지능 모델이 얼마나 유용한지를 평가하게 된다. 개발된 모델의 성능을 점수로 주는 것이다. 학습하지 않은 데이터를 이용해서 점수를 줄 수 있다.

인공지능 기술에서, 실제 학습은 최적화를 통해서 이루어진다. 이 부분에서 가장 많은 시간이 필요하다. 또한, 많은 충분한 데이터를 필요로 할 수도 있다. 

 

저자는 가장 중요한 인공지능의 요소로서 표현식의 개발을 꼽는다. 이것은 각자 풀고자 하는 문제에 대한 매우 깊은 통찰을 필요로 하는 아주 민감한 것이다. 표현식은 한 가지 방법으로 정해지지 않는 것이다. 하나의 문제에서 우리는 '좋은 표현식'이 있고  동시에 '좋지 못한 표현식'이 있음을 알 수 있다.  저자는 불변량(invariants)을 중심으로 보다 더 좋은 표현식을 찾는 것을 강조한다. 

 

저자는, 저자 자신의 경험을 살려서, 이공계 문제 풀이에 인공지능/최적화 기술이 어떻게 적용될 수 있는지를 살펴본다. 저자는 자신의 연구에서 어떻게, 논문, 특허, 기술이전이 가능했는지를 아주 간단히 설명한다.

저자는, 또한, 기존의 방법들로 풀지 못하는 이공학적 문제를 풀 수 있는 하나의 방법으로 인공지능/최적화 기술을 지목한다.  


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo