본문 바로가기

카테고리 없음

이공학적 설계를 위한 인공지능 최적화(북스힐, 2023)

새로나온 책 소개: 이공학적 설계를 위한 인공지능 최적화 (북스힐, 2023)

이공학적 설계를 위한 인공지능 최적화 (프로그램들 저장 URL)

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

 

GitHub - inholeegithub/summer2022

Contribute to inholeegithub/summer2022 development by creating an account on GitHub.

github.com

 

책이 담고 있는 내용들

^ 인공지능의 역사, 목적을 이해한다. 특히, 2012년 딥러닝의 출현을 역
사적으로 이해한다.
^ 기존에 존재하는 수학적 절차와의 차별성을 이해한다. 새로운 신뢰도
있는 계산 방법이 탄생함을 이해한다. 매개변수들을 더 많이 활용할 수
있다는 것에 주목한다.
^인공지능으로 자신의 과학적/인문학적 문제를 풀 수 있는지 생각한다.
^ 비연역적 문제풀이 접근법의 유용성,귀납적 데이터처리를 이해한다.
^ GPU(쿠다 툴키트, cuDNN, tensorflow-gpu)를 활용한 가속화에 필요
한 장비와 소프트웨어를 이해하고 실습한다.
^ 기계학습의 3요소와 4가지 형식을 정확히 인지한다. 자신이 하고 있는
것이 어떠한 작업인지를 인식한다.
^ 인공지능의 다양한 도구들(최적화, 분류, 통계적 학습, 인공신경망)을
모두 이해한다. 적용분야를 정확히 인식한다.
^ 표현식(representation)의 개발에 집중한다. ‘차원의 저주’를 이해한다.
^ 기계학습의 핵심은 차원축소, 차원확대, 자동암호기, 특성 중요도(feature
importance)의 유도이다.
^ 응용 분야별로 중요해질 수밖에 없는 표현식의 중요성, 거리의 정의를
확인한다.
^ 기계학습은 분류 성능을 극대화하기 위한 일반적이고 새로운 차원과
새로운 좌표계의 도입이다.

^ 매우 다양한 비지도학습의 의미들과 그들의 적용범위/유용성을 이해
한다. 새로운 형식의 내삽 방법으로서의 가능성을 인지한다.
^ 매우 다양한 잡음제거 기술들을 이해한다. 지도학습(U-net),비지도학
습(PCA, CycleGAN)
^ 통계학 기반 의사 결정 나무(decision tree), 랜덤 포레스트(random
forest), XGBoost, lightGBM, 가우시안 프로세스(Gaussian process), 베
이지안 옵티마이제이션(Bayesian optimization)을 모두 이해한다.
^ 이들 통계학 기반 모델들이 잘 적용될 수 있는, 즉, 딥러닝(심층학습) 분야의 것들
보다 뛰어날 수 있는 분야를 이해한다. 테이블 형식의 데이터에 대한 유
용성을 확인한다.
^ 생성 모델들의 구성(자동암호기, 적대적 생성망)과 훈련을 모두 이해
한다.
^합성곱 신경망의 도입과 응용을 실습한다. 이 모델의 계산상의 이득(입
력 데이터 크기, 출력 데이터 크기의 비대칭성)과 계산 성능상의 이득을
동시에 이해한다.
^ 딥러닝을 활용한 분류와 회귀 성능을 각각 경험한다.
^ 인공신경망의 역할이라는 관점에서 특정 문제 풀이에 적용될 수 있는
가능성을 도출한다.
^ 응용 분야별로 특화된 신뢰도 높은 새로운 수학적 계산 절차를 구성할
수 있음을 이해한다.
^ 다양한 광역 최적화 방법들을 이해한다.
^ 초고도 병렬계산을 이해한다. 매우 많은 폴더를생성하고 각 폴더에서
병렬 계산을 수행하는 방식을 이해한다.
^ ‘간편 성능 지수’에 기반한 목적함수 설계 방식을 이해한다.
^ 응용 분야별로 특화된 역방향 계산들이 광역 최적화 방법을 통해서
가능함을 이해한다. 설계 문제 풀이가 가능함을 인지한다.
^ 다양성을 확보할 수 있는 변이와 교차의 특성을 각각 이해하고 이것의
역할이라는 관점에서 문제 풀이를 이해한다.

 

Anaconda3 설치 방법 (윈도우즈10 환경 기준):
Anaconda | Individual Edition "URL 클릭 https://www.anaconda.com/products/individual"  
 접속 후 "download" 문구 클릭
"64-Bit Graphical Installer (457 MB)" 문구를 확인하여 파일을 다운로드 받는다.
 내 PC에 저장된 다운로드 파일을 클릭하여 실행시킨다. 
Anaconda3 설치를 할 때 아래 두가지 항목에 주의 한다.  
[두가지 선택 버튼들을 아래와 같이 한다.]
all user를 대상으로 사용할 수 있게 설치한다. 
경로(path)가 잡히도록 설치한다.
 
Anaconda3 설치 직후:
시작   Anaconda Prompt (Anaconda3) 클릭한다. 
→ 생성된 검은색 창 Anaconda Prompt (Anaconda3)에서 몇 가지 종류의 명령어들을 넣어 준다.
이 명령어들은 이름을 가지는 가상환경 생성 그리고 그 가상환경에 꼭 필요한 패키지 설치와 관련된 것들이다. 
자신이 원하는 가상환경, "testAI"라는 이름으로 가정한다. 
[고유의 이름을 가지는 가상환경 생성 명령어] 
[여기에서는 특별히 AI 학습에 필요한 것들을 의미한다.]
입력해야하는 명령어들의 순서는 아래와 같다. 
이미 생성되어 있는 기본(base) 가상환경에서 출발 하여 새로운 가상환경을 만든다.
conda create -n testAI
conda activate testAI
conda install tensorflow
pip install keras
pip install jupyter notebook
pip install matplotlib
pip install opencv-python
pip install imageio
pip install imgaug
pip install xgboost
pip install lightgbm
pip install catboost
pip install bayesian-optimization
pip install scikit-optimize
pip install mlens
pip install deslib
pip install graphviz
pip install pydot
 
{cuda를 이용할 경우, NVIDIA GPU 장비가 있는 경우.}
{
conda install -c anaconda cudatoolkit
conda install -c anaconda cudnn
conda install -c anaconda tensorflow-gpu

conda list cudatoolkit
conda list cudnn
nvidia-smi
nvcc --version
}
 
이미 설치된 패키지에 대해서는 기존 설치정보를 출력하고 설치작업을 자동으로 건너뛴다.
아래의 세 줄의 명령어들은 주피터 노트북과 관련된 명령어들이다. 
[위의 명령어들에 연속해서 실행하는 것들이다.] [설치작업의 연속이다.]
pip install  ipykernel
python   -m    ipykernel    install     --user     --name=testAI
jupyter notebook  --generate-config
[여기에서 가상환경 구성 작업이 종료된다.] 
아래의 명령어를 입력하면 Anaconda Prompt (Anaconda3) 창에서 나올 수 있다.
exit
Anaconda Prompt (Anaconda3) 에서 나오기 전에 설치된 패키지를 볼 수 있는 명령어:
conda env list
현재 보유하고 있는 가상환경들의 목록을 확인할 수 있다.
exit를 이용하여 Anaconda Prompt (Anaconda3)에서 나올 수 있다.
 
새롭게 들어가고자 할 때, 즉, 이번에는 설치가 아니고 jupyter notebook으로 프로그램을 만들 때:
시작  → Anaconda Prompt (Anaconda3) 클릭한다.
→   
conda activate  testAI 
→   
jupyter notebook
검은색 창과 브라우저가 동시에 생성된다.
웹브라우저 창은 창닫기로 종료한다.
검은색 창에서 jupyter notebook 실행을 중지하는 방법: "control + C"를 입력하는 것이다.
 
주피터 노트북(jupyter notebook)을 실행하는 방법:
시작 -->  jupyter notebook (anaconda3)  클릭 
검은색 창과 웹브라우저가 동시에 생성된다.
 
jupyter notebook 실행 후, 아래의 파이썬 코드를 이용해서 텐서플로우의 설치 여부를 확인할 수 있다.
→  new →  testAI 선택한다. python3을 선택하지 않는다.
import keras
print(keras.__version__)
2.4.3
import sklearn
print(sklearn.__version__)
0.23.2
import tensorflow as tf
print(tf.__version__)
2.3.0
 
jupyter notebook 실행애서 kernel error 발생할 때 아래와 같은 추가 패키지 설치가 필요합니다.:
pip install pywin32
 
주피터 노트북 connection fail 에러가 발생할 경우:
conda install -c conda-forge pywin32
conda install -c anaconda jupyter_client
conda install -c conda-forge jupyter_core

사용자(Users) 폴더 밑에 한글명 또는 빈칸(blank)이 포함된 사용자 이름의 경우
사용자(Users) 폴더에 새로운 폴더를 만든다. 영문으로 하고 빈칸없이 만든다. 쓰기 권한을 준다.
그곳에 anaconda3을 설치한다. anaconda3 설치할 때, 이 폴더위치를 정확하게 직접 설정해 준다. 이곳 아래에 있는
anaconda3\Scripts 폴더를 경로에 넣어주어야 한다.

[제어판  시스템 및 보안  시스템  고급 시스템 설정  환경변수  path  편집
환경변수설정, 편집, 경로에 새롭게 추가 작업을 한다.
 
C:\Users\ ....... 처럼 넣어 준다.
 
윈도우즈에서 Cuda 사용률을 확인하는 방법 (Cuda toolkit  cuDNN 순서대로 모두 설치한 후, 응용 프로그램 실행할 때):
1) 작업관리자 (Ctrl + Shift + ESC) 또는 Ctrl + alt + del
2) 성능 탭  GPU
3) 선택 항목(↓표시) 중 1개를 Cuda로 변경하여 설정함. 실시간 그래프로 Cuda 사용률을 직접 확인할 수 있다. 또한, GPU 메모리 사용량을 직접 확인할 수 있다. 
[Cuda toolkit  cuDNN  tensorflow-gpu 설치이후, 주피터 노트북에서 응용 프로그램 실행하면서 GPU 장치의 사용을 실제로 확인하는 방법]
 
2012년이 딥러닝의 원년이다.
2011년 Relu 함수의 출현 : vanishing gradient problem 해결, 표현력이 높은 딥러닝이 시작됨.
2012년 Dropout 방법의 출현 : overfitting problem 해결, 정규화된 훈련이 가능함. regularization의 도입.
2012년 CNN 출현 : 방대한 이미지 데이터 처리 문제 해결, 비대칭 데이터에 대한 처리가 가능함.
2013년 VAE 출현: 생성모델로서 다양한 가능성을 제안함.
2014년 GAN 출현: 생성모델로서 많은 응용 가능성을 제안함.
2015년 TensorFlow 구현의 출현과 보급 : 실질적인 딥러닝의 민주화가 단행됨.
2016년 AlphaGo 출현 : 바둑 정복
2017년 AlphaGo Zero 출현 : tabula rasa, first-principles 방법을 이용하여 바둑 정복, 진정한 바둑의 정복이 가능함. 기보없이 바둑 정복함. 프로기사에게 절대로 지지 않는 사실상 바둑의 신이 탄생함. 바둑의 역사 5000년 Mastering the game of Go without human knowledge | Nature http://incredible.egloos.com/7372719
2017년 Attention, cycleGAN 출현 http://incredible.egloos.com/7530913
2018년 알파폴드 출현
2021년 플로어플랜닝 (반도체 칩 설계) A graph placement methodology for fast chip design | Nature
2021년 나우캐스팅 (단기 일기예보) https://www.nature.com/articles/s41586-021-03854-z
2022년 알파코드  https://alphacode.deepmind.com/
2022년 토카막 제어 https://www.nature.com/articles/s41586-021-04301-9
2022년 ChatGPT 출현
 
 
 

Materials Square 기고문으로 게재된 글:

 

인공지능 기술로 어디까지 넘볼 수 있나?

 

최근 가장 두드러지게 발전한 것에는 무엇이 있을까? 필자가 가장 먼저 손꼽고 싶은 것은 알파고(AlphaGo, 2016)로 대표되는 인공지능(artificial intelligence) 분야의 가시적인 과학적 성과이다. 최근 사용되고 있는 인공신경망(artificial neural network)의 학습은 인류가 개발한 귀납 추론(歸納推論, induction)의 최고봉이라고 할 수 있다. 적어도 2012년 이후에 알려진 딥러닝(deep learning)을 고려한다면 그렇다. 잘 알려진 것처럼 인공지능 분야는 두 번의 빙하기를 거쳐서 오늘에 이르고 있다. 2012년 이전, 그동안 잔인할 정도로 긴 숙성의 시간을 보내고 있었다. 사실상 이러한 시기를 두 번의 암흑기로 표현하는 것이 더 적절할 것이다. 2012년 앞뒤로 몇 년 사이에 몇 가지 간단 하지만 혁신적인 아이디어들이 나타나면서 기존에 잘 알려진 인공신경망이 훨씬 더 뛰어난 학습을 수행할 수 있다는 사실이 알려지게 되었는데, 이를 우리는 딥러닝이라고 부르게 된 것이다.

 

2016년 당시 알파고의 출현은 문자 그대로 사람들에게 신선한 충격을 준 것으로 유명하다. 특히, 한국에서 대대적인 이벤트 행사가 진행되었기 때문에 우리에게 더 익숙하다. 하지만, 그 충격은 포괄적인 것으로 일반인을 향하기에 적합해 보였다. 주변의 여전히 완고한 전문가들은 인공지능에 대해서 회의적이였다. 이 부류의 사람들은 이미 연역적 추론(演繹的推論, deductive reasoning)에 의존한 프레임에서 성공한 사람들이고 인공지능 아니라도 편히 먹고 살 수 있는 사람들이다. 새로운 시장이 열리는 것, 그것은 귀찮은 것 하나 추가에 지나지 않는 것이다. 하지만, 동서고금을 막론하고, 주변 사람들 모두 다 그렇지는 않았다. 딥러닝은 매우 포괄적인 접근법처럼 보였다. 매우 많은 분야에서 즉각적인 응용들은 불을 보듯 자연스러웠다. 하지만, 특정 분야 전문가들에게 있어, 자신의 문제를 보고 있으면 당장 현실적으로 많은 어려움이 앞을 가리고 있는 것도 부인할 수 없는 사실이다. 그게 말이야, 바둑이라는 특수한 상황에서는 인공지능이 성공할 수 있었던 것이라고 나는 생각해! 그렇지 않아? 이러한 판단은 여전히 유효한 것처럼 보여서 필자를 포함한 많은 사람들이 그러한 지적에 대해서 적대적인 언급을 자유롭게 할 수는 없었다. 어쩌면, 당시 인공지능의 성과는 여전히 ‘증거 불충분’의 상황이였는지도 모른다.

 

시간은 다시 흘렀다. 1년 후, 2017년 알파고 제로(AlphaGo Zero)가 나타난 것이다. 사실, 필자는 알파고 제로에게서 더 큰 충격을 받은 바 있다. 알파고 제로 출현의 의미는 일반인 그리고 전문가들 모두에게 크게 간과된 측면이 있다. 알파고 제로는 알려진 데이터를 반드시 학습해야만 한다는 인공신경망에 대한 어쩌면 마지막 불문율같은 것을 머리 속에서 폐기해야만 하게 했다. 편견의 말소는 혁신으로부터 나온다. 혁신할 수 있어야 편견이 파괴된다. 이것은 인공지능이 더 이상 현존하는 데이터에만 국한되어 성립될 수 있는 단순한 초귀납적 사고에만 적용되는 것이 아님을 의미한다. 알파고 제로를 통해서, 우리는 바둑의 규칙만을 입력하고도 최종적으로‘바둑의 신’이 탄생할 수 있음을 목격했다. 바둑 학습에 기보(棋譜)가 왜 필요해! 5000년 역사를 자랑하는 바둑을 이론적으로 사실상 정복한 것이라 볼 수 있다. 2020년, 현재, 소위 제대로 된 인공지능 바둑 프로그램이라면 프로기사 그 누구에게도 절대로 지지 않는다.

 

2017년 당시, 알파고 제로 개발팀은 소위 제일원리(first-principles)로 바둑의 정복이 가능하다고 강조했었다. 다시 말해서, 기존의 데이터가 필요하지 않다는 것이다. 기존의 기보를 보고 학습하지 않는다는 뜻이다. 스스로 학습을 진행하기 때문에 이름에 제로가 붙어 있는 것이고 제일원리라고 부르는 것이다. 다른 말로 표현하여 정해진 의견이 없는 상태(tabula rasa)에서 출발한다는 점을 논문에서 강조한 바 있다. 충분히 스스로 학습하여 원리를 깨우친다는 뜻이다. 두 가지 관전 포인트가 남아 있었다. 그것들은 학습의 속도와 학습의 수준을 각각 말한다. 다시 말해서, 그렇게 스스로 깨우치는 것이 기보를 보고 학습하는 것보다 더 빠를뿐만아니라 학습의 수준도 더 높다는 것이다. 인류가 발견하지 못한 정석(定石)을 알파고 제로는 찾아낸 것이다. 이것이 알파고 제로가 새로운 차원의 바둑실력을 보일 수 있는 이유이다. 인간 지식의 한계에 더 이상 속박되지 않는 기술이다. 사람들이 둔 기보를 전혀 보지 않기 때문에 사람들 보다 더 강하다는 것이다. 이게 가능하다고? 펠레, 크라이프, 마라도나, 호나우두, 호나우지뉴, 호날두, 그리고 메시를 보지도 않고 이들 보다 더 뛰어난 축구선수가 가능하다고?

 

필자는 독서백편의자현(讀書百遍義自見) 또는 위편삼절(韋編三絶)이라고 하는 것은 어느 정도까지는 믿고 있다. 물론, 완전히 믿지는 않는다. 하지만, 어디까지나 알려진 정석을 얻어낼 때 사용하는 것으로 판단하고 있다. 특정한 문제풀이에서 소위 응용력 없이는 많은 문제를 쉽게 풀 수 없다. 엉켜버린 실타래를 침착하게 헤아릴 수 있는 것과 같은 고도의 집중력과 숙성된 통찰력을 갖추지 못하면 더욱 그렇다. 교수님들은 말한다. 조금만 문제를 바꾸어 내면, 학생들이 아예 못 푼다. 또한, 잘 알려진 것처럼 수준 높은 학습의 부재는 남들이 보지 못한 새로운 것을 제시하지 못하는 소위 창의력 부재로 이어진다. 때때로 우리는 창의력 부재라는 말 앞에서 가장 큰 고통을 느끼기도 한다.

 

더욱 놀라운 일은 또 진행되고 있었다. 2017년 알파고 제로가 나온 직후, 딥마인드(DeepMind)의 데미스 하사비스(Demis Hassabis)는 진짜로 풀고 싶은 문제는 단백질 접힘(protein folding) 그리고 물질설계(materials design)라고 했다. 그때, 필자는 생각했다. 그렇지! 저 정도 문제를 풀어주어야 의미도 있고 재미도 있을 것 같다. 사실 바둑에 문외한이라서 그렇게 생각한 측면도 있다. 시간은 어김없이 흘렀고, 딥마인드는 2018년 알파폴드(Alaphafold)라는 알고리듬을 들고 나왔다. 그야말로 단백질 구조예측 분야에 신선한 공기를 제공했다. 어려운 문제를 풀 수 있다는 가능성을 제시한 것으로 볼 수 있었다. 정확히 2년 후, 2020년, 딥마인드는 알파폴드 2(Alphafold 2)를 통해서 단백질 구조를 예측하는 전문가들에게 긍정적인 커다란 충격을 안겨 주는 데 마침내 성공했다. 가장 어려운 문제로 분류되는 단백질 구조예측 문제를 사실상 만족할 만한 수준으로 풀어낸 것이다. 구글이 이룩한 성과는 약 50년의 시도 끝에, 마침내 만족할 만한 수준으로, 아미노산 서열 정보로부터 접혀진 3차원 단백질 구조예측 방법을 개발하는 데 성공한 것이다. 이것은 대학교 그리고 연구소에서 이루어 내지 못한 괄목할만한 과학적 성과이다. 이 놀라운 성과는 생명현상의 근원적 이해에 한 발 더 다가선 것으로 볼 수 있다. 왜냐하면, 단백질은 고유의 3차원 구조를 가질 때 비로소 ‘프로그램’되어 있는 생명현상을 한 치의 오차도 없이 정확하게 수행하기 때문이다. 이러한 과학적 성과는 질병 극복과 신약개발에 곧바로 적용될 수 있다. 아무튼, 알파고, 알파고 제로, 알파폴드, 그리고 알파폴드 2로 이어지는 구글의 과학적 성과는 진실로 놀랍다. 대학교와 연구소 중심의 연구체계가 아닌 기업이 이루어 낸 학술적 성과를 결코 간과해서는 안 된다. 내로라하는 전문가들이 그동안 이루어 내지 못한 것들임에 우리는 주목해야 한다.

 

사실, 특정 분야에서 사람보다만 일을 잘 할 수 있는 능력이 있어도 인공지능의 존재이유(存在理由)는 충분하다. 인공지능 프로그램은 절대로 피로를 느끼지 않는다. 쉬지 않고 결과물을 내어놓을 수 있다. 하지만, 그것은 인공지능의 목적과 능력을 과소평가하는 것이다. 인공지능은 더욱더 창의적인 일에 필요한 강력한 기초가 될 수 있고, 특정 분야에 필요한 기술적 돌파구를 만들어 낼 수 있다. 앞서 언급한 것처럼 인공지능은 5000년 그리고 50년 동안 인류가 풀어내지 못한 것들을 각각 풀 수 있음을 보여주었다. 2020년, 인공지능을 바라보는 관점에는 세 가지가 있을 수 있다. 첫째, 나와는 상관없다. 둘째, 사용해보았는데 적어도 나에게는 큰 의미가 없다. 셋째, 이것을 잘 사용하면 꿰 유용할 것 같다. 여러분은 어느 쪽이신지? 지금, 또 시간은 흘러가고 있다. 인공지능으로 어디까지 넘볼 수 있나? 그 대답을 자신 있게 할 수 있는 사람이 있을까? 셋째 부류에 속해있는 사람들이 답을 할 것이다.

 

 

인공지능, 언제까지 바라만 볼 것인가?

   

최근 인공지능을 토대로 한 제품들이 나오기 시작했다. 사람과 대화하는 스피커, 세탁기, 로봇 청소기, 안마기를 비롯한 가전제품들, 번역기, 의료기기, 수학 공식 생성기, 스팸 메일 필터, 작곡기, 사진 스타일 변환기, 인공지능 가수 등 응용 제품들이 즐비하다. 인공지능의 응용 영역은 이공계 분야에 결코 한정되지 않는다. 그야말로 인공지능은 인문학의 영역을 ‘중앙돌파’하고 있다. 인공지능의 활용은 연역적사고 방식 반대편에 존재하는 귀납적 방법에 기반을 두고 있다. 따라서, 사회학적, 인문학적 문제 풀이들에도 곧바로 적용할 수 있는 특징이 있다. 해당 이론을 수립할 필요가 없기 때문이다. 따라서, 인과관계가 복잡할수록 인공지능의 용도는 더욱더 명확해진다. 이것은 순전히 인공지능 방법이, 적어도 2012년 이후, 응용 영역에 맞추어서 완전히 또 다른 수학적 계산 체계를 확립할 수 있게 되었기 때문이다. 또한, 이미 잘 구축된 연역적 방법과 함께 활용될 경우 인공지능의 도구들은 기존 과학적 체계의 틀 안에서 창의적인 결과물들을 쉽게 도출할 수 있게 해준다. 박사학위 받고 20년 일해도 쉽게 얻어낼 수 없는 결과를 인공지능은 한 달만에 창출할 수도 있다.

 

인공지능의 도구들은 분별적 모델 그리고 생성 모델을 모두 제공한다. 아울러, 인공지능의 도구인 최적화 방법은 많은 이공계 문제들에 쉽게 적용할 수 있다. 인공지능의 데이터 처리 능력은 해당 분야 전문가의 귀납적 데이터 처리 능력을 뛰어넘고도 남는다. 인류가 개발한 최고의 귀납적 데이터 처리방법이 곧바로 오늘날의 인공지능이다. 과학적 데이터 처리 방식이 컴퓨터를 활용한 인공지능 기술로 구현될 수 있게 된 것이다. 암호화 능력으로 대변되는 데이터의 속성을 꿰뚫어 볼 수 있는 관찰 능력을 인공신경망이 가지게 할 수 있다. 이러한 인공신경망의 암호화 능력은 유사하지만 기존의 것과 전혀 다른 새로운 형식의 해답을 제시할 수 있게 해준다. 결국, 인공지능 방법은 창의적 답안을 제시하기에 충분한 능력을 가지게 되는 것이다. 또한, 인공지능 도구들을 잘 활용하면 유용한 정보의 축적이 점진적으로 컴퓨터 속에서 이루어지게 할 수 있다. 소위 베이즈 추정을 심도 있게 활용할 수 있다. 관심 있는 데이터의 다양성을 확보하는 추가적인 접근법을 활용하면 소위 진화적 학습의 속도를 가속화 시킬 수도 있다. 상상할 수 없을 정도의 가속으로 무수히 많은 유효한 가능성들을 효율적으로 빠르게 탐색할 수 있다.

 

최근 이공계 연구 분야에서도 많은 변화들이 감지된다. 대부분의 전공분야에서 인공지능을 활용한 연구가 없는 곳이 없을 정도이다. 오늘날 우리는 텐서플로우, 파이토치 등과 같은 인공신경망 구축에 특화되어 있을 뿐만 아니라 함수의 해석적 미분까지 자동으로 계산해주는 플랫폼/라이버러리들을 무료로 활용할 수 있게 되었다. 또한, 이들을 활용한 많은 응용 프로그램들의 절대 다수가 인터넷으로 공개되어 있다. 다시 말해서, 집단지성의 결과물들은 또 다른 사용자들에 의해서 특수한 방식으로 서로 연결되기를 손꼽아 기다리고 있다. 깃(git)을 활용한 소프트웨어 관리가 이제는 소프트웨어 배포에 중요한 방식으로 발전하고 있다. 컴퓨터 언어에 익숙하고 컴퓨터를 다룰 줄 안다면 누구나 쉽게 인공지능을 활용할 수 있게 되었다. 대부분의 학술저널에서도 연구 관련 프로그램이나 데이터를 독자들에게 제공하는 형식을 참고문헌과 동등한 수준의 것으로 채택하고 있다. 따라서, 이러한 정보를 잘 활용할 수 있는 능력이 필요해지기 시작했다. 주어진 프로그램들과 자료를 바탕으로 자신의 문제풀이에 적용할 수 있는 편집 능력이 필요해졌다.

 

아울러, 인터넷 검색엔진의 등장은 또 다른 형식의 서면주의 시대를 열었다고 볼 수 있다. 핵심 전문가들만 알 수 있는 아주 구체적인 질문들에 대한 답변들은 인터넷 검색으로 누구나 찾을 수 있다. 노하우를 보유하고 있는 주변 ‘고수’에게 질문하는 시대는 오래전에 지나갔다. 구체적으로 질문 할수록 보다 더 자세한 정보를 우리는 얻을 수 있다. 컴퓨터 실행 오류에 나타난 문자열을 곧바로 인터넷 검색창으로 가져가면 해당 정보들이 컴퓨터 모니터에 무더기로 나타난다. 실로 놀라운 시대에 우리는 살고 있는 것이다. IBM은 2025년에 인공지능 산업이 2,000조 원에 이르는 시장을 창출 될것이라고 예측한다. 맥킨지는 인공지능으로 인해 7,000조 원에 이르는 파급 효과가 창출될 것으로 전망하고 있다. 유엔 미래보고서에서는 30년 내에 인공지능이 인간의 지능을 능가할 것이라는 전망하고 있다. 이와 같은 인공지능의 응용 영역 확대로 볼 때, 우리는 조만간 다양한 연구자 집단이 인공지능을 받아들이는 상황에 직면할 것 같다. 인류는 과거 수학을 잘 활용하는 정도 만큼 문명사회를 이루어 낸 바 있다. 또 다른 형식의 수학으로 인정받는 인공지능을 잘 활용하지 못하면 많은 새로운 문제들을 풀 수 있는 기회들이 사라지게 되는 것이다. 지금, 인공지능은 그야말로 진정한 패러다임 시프트를 향해 무서운 속도로 질주하고 있다.