알고리즘의 종류와 작동 원리
2018년 어딘가에서 발표했던 자료인데, 기억이 잘 나질 않네요. 일단 미디어고토사에도 올려둡니다.
알고리즘의 정의
로렌스 레식 하버드 로스쿨 교수는 “코드는 사이버 공간의 법”이라고 했다. 인터넷이 코드에 의해 건축되고 코드의 통제를 받으며 코드에 의해 인터넷의 일상이 규정된다는 맥락에서다. 그가 말한 코드는 엄밀한 의미에서 알고리즘이라 할 수 있다.
알고리즘을 한마디로 정의하면 데이터를 재배열하는 논리 구조다. 수많은 데이터를 입력받아 이를 설계자의 의도대로 작동하게끔 코드로 짜여진 규칙이다. 인터넷이라는 공간에서 보고, 듣고, 소비하고, 생산하는 모든 행위가 수많은 알고리즘을 거쳐 작동된다. 알고리즘이 빠지면 인터넷은 당장에라도 멍청한 사이버공간으로 전락할 수도 있다.
도밍고스는 알고리즘을 “컴퓨터가 수행할 일을 순서대로 알려주는 명령어의 집합”이라고 정의한다(Domingos, 2015/2016). 트랜지스터라는 소형 스위치 수십억 개로 구성된 컴퓨터에서, 알고리즘은 스위치를 1초에 수십억 번씩 켜고 끄게 되는데 이를 명령하는 프로그래밍 언어의 집합이라는 의미에서다.
동시에 알고리즘은 통제의 성격을 갖는다. 이재현 서울대 교수(2013, 22쪽)는 알고리즘을 ‘논리+통제’라고 설명했다. 그리고 “알고리즘이 구현한 지식이나 문제 해결 전략이 유일한 것이 아니라 여러 대안들 중의 하나”라고 덧붙였다. 알고리즘을 통한 효율성의 개선, 그것에 담긴 통제 전략은 누군가에 의해 선택된 것이고 다분히 특정 목적을 품고 있다는 의미로 해석할 수 있다. 정리하면 현재 적용된 알고리즘이 유일한 해법이 아닐뿐더러 지고지순한 정답이 아닐 수 있다는 얘기다.
AI의 실체로서 머신러닝 알고리즘
머신러닝은 간단하게 설명하면 결정론적 함수식(deterministic function)이다. d라는 속성이 함수를 거쳐 Y라는 예측치를 도출하는 과정이다. Y가 한정돼있다면(남성, 여성 혹은 암환자, 정상환자) 함수는 곧 분류기(classfier)가 된다(Fredrikson 등, 2015). 대다수의 분류기는 분류값의 속성 벡터를 받아들여 분류하는 회귀함수이다. 즉, 높은 수준의 신뢰도(confidence)를 바탕으로 분류해내는 기계라는 의미다. 따라서 해당 알고리즘에 적용된 파리미터와 신뢰정도를 추적할 수 있으면, 해당 알고리즘에 적용된 모델을 통해 재구현해낼 수 있다.
f :Rd → Y (d: features)
머신러닝 알고리즘의 종류
기호주의 알고리즘
모든 지능을 기호를 다루는 활동으로 귀결 짓는다. 수학자가 수식을 다른 수식으로 바꾸면서 방정식을 푸는 것과 같다. 기호주의자는 아무것도 없는 곳에서는 학습을 시작할 수 없다고 생각한다. 당신은 데이터와 함께 초기 지식이 필요하다. 기호주의자는 새로운 문제를 풀기 위하여 이미 존재하는 지식을 학습 과정에서 사용하는 방법과 단편적인 여러 가지 지식을 합치는 방 법을 알아냈다. 그들의 마스터 알고리즘은 연역을 진행하는 데 필요한 지식 중 빠진 지식이 무엇인지 파악한 후 연역을 최대한 보편적으로 만드는 역연역법(inverse deduction)이다.
연결주의 알고리즘
학습은 두뇌가 하는 활동인 터, 우리가 해야 할 일은 두뇌를 역공학 (reverse engineer, 완성된 제품을 분해하여 그 생산 방식과 적용 기술을 알아낸 뒤 복제하는 것)으로 알아내는 것이다. 두뇌는 신경세포의 연결 강도를 조절하여 학습하며, 주요 문제는 어떤 연결이 오류 를 일으키는지 파악하여 올바르게 수정하는 것이다. 연결주의자의 마스터 알고리즘은 역전파법(back propagation)이다. 이는 시스템의 출력을 목표값과 비교한 후 여러 층에 걸친 연결된 신경세포들의 연결 상태를 계속 바꾸어 시스템의 출력이 목표값에 더 가깝게 한다.
진화주의 알고리즘
모든 학습의 어머니는 자연 선택이라고 믿는다. 자연 선택이 우리를 만 들었다면 어떤 것이라도 만들 수 있고, 우리가 해야 할 일은 자연 선택을 컴퓨터에서 모의실험하는 것이 전부다. 진화주의자가 달성하려는 핵심 과제는 학습하는 구조물이다. 역전파법처럼 변수를 조절 하는 것에 더하여 이러한 조절값들을 세부 조정할 수 있는 두뇌를 창조한다. 진화주의자의 마스터 알 고리즘은 유전자 프로그래밍(genetic programming)이며, 자연이 생명체를 짝 지우고 점진적으로 발 달시키는 방식과 같은 방식으로 컴퓨터 프로그램을 짝 지우고 발달시킨다.
베이즈주의 알고리즘
불확실성에 주목한다. 학습된 지식은 모두 불확실하며 학습 자체는 불확 실한 추론의 형태를 띤다. 그러므로 오류가 끼어 있는 듯하고 불완전하며 서로 모순된 정보들을 흩어 버리지 않고 잘 다루는 방법을 찾는 것이 과제다. 해결책은 확률 추론이며 마스터 알고리즘은 베이즈 정리와 그 정리의 파생 수식이다. 베이즈 정리가 새로운 증거를 우리의 믿음에 어떻게 끌어넣을지 알 려 주고, 확률 추론 알고리즘이 가능한 가장 효율적으로 그 일을 수행한다.
유추주의 알고리즘
머신러닝의 핵심은 상황들 사이의 유사성을 인식하여 다른 유사점들을 추론하는 것이다. 환자 둘이 비슷한 증상을 보인다면 그들은 같은 병에 걸렸을 것이다. 핵심 과제는 두 사물이 얼마나 비슷한가를 판단하는 일이다. 유추주의자의 마스터 알고리즘은 서포트 벡터 머신 (Support Vector Machine, SVM)이며 어떤 경험을 기억할 것인가와 새로운 예측을 위해 그 경험들을 어떻게 결합할 것인가를 파악한다.
뉴럴네트워크 알고리즘의 작동 방식
이 보고서에서는 위 5개 머신러닝 알고리즘의 접근법 가운데 가장 활발하게 연구되고 있고 폭넓게 이용되고 있는 연결주의 모델, 그 가운데서도 인공신경망 알고리즘에 대해서 중점적으로 언급하고자 한다. 간간이 베이지안 모델이 섞여 있기도 하겠지만 그것이 주가 되지는 않을 것이다.
뉴럴네트워크의 이해와 딥러닝
딥러닝은 사물이나 데이터를 군집화하거나 분류(Classification)하는 데 사용되는 일종의 기술적 방법론이다. 잠시 예를 들어보자. 일반적으로 컴퓨터는 사진만을 놓고 고양이와 개를 구분하지 못한다. 물론 꽃의 종류도 영상이나 이미지만으로 파악하지는 못한다. 사람은 아주 쉽게 분별하는 작업을 컴퓨터는 매우 복잡한 과정을 거쳐야만 이해할 수 있다.
이를 위해 기계학습이라는 방법이 고안됐다. 많은 데이터를 컴퓨터에 입력해주면 비슷한 것들끼리 분류해서 개를 개로, 고양이를 고양이로 판독하도록 훈련시키는 방식이다. 컴퓨터가 스스로 훈련하면서 패턴을 찾아내 분류하는 기술적 방식, 이를 기계학습이라고 한다.
데이터를 어떻게 분류할 것인가를 놓고 이미 많은 기계학습 알고리즘들이 현재도 활용되고 있다. 대표적으로 의사결정나무, 베이지안망, 서포트벡터머신(SVM), 인공신경망 알고리즘을 들 수 있다. 각 알고리즘마다 장단점이 분명해 데이터의 속성, 형태에 따라 서로 다른 알고리즘이 동원된다. 딥러닝은 심화신경망(Deep Neural Network)를 활용한 기계학습을 딥러닝이라고 일컫는다.
딥러닝은 인공신경망의 한계를 극복하기 위해 제안된 기계학습 방법이다. 인공신경망은 높은 분류 정확도에 비해 속도가 느린 것이 단점이었다. 게다가 과적합(overfitting)도 웬만해선 해결되지 않는 과제였다. 이 때문에 비교적 오랜 기간 실무에선 배척 당하기도 했다. 하지만 최근 들어 이 분야를 깊숙이 고민해온 연구자들이 그에 대한 해법을 내놓으면서 다시 각광을 받기 시작했다. 그 핵심에 캐나다 대학의 제프리 힌튼, 뉴욕대 얀 리쿤 교수, 스탠포드 대학의 앤드류 응 교수 등이 있다.
딥러닝의 기본적인 아키텍처
- Input : 말 그대로 데이터를 수집하고, 저장하는 단계이다. 일반적으로 주기별로 수집하는 방식으로 실시간으로 수집하는 방식으로 나뉜다. 자주 활용하는 소프트웨어로는 구글의 빅쿼리를 들 수 있다. 수집하는 데이터의 양이 방대한 경우가 많기 때문에 이를 효율적으로 수집해 저장해두는 기술은 매우 중요하다.
- 프리 프로세싱 : 수집한 데이터가 실제 학습 모델에 모두가 필요한 것은 아니다. 학습을 위해 필요한 데이터로 정제하고 가공하는 작업이 프리 프로세싱이다.
- 학습(Train) : 학습은 전처리 한 데이터를 모델에 입력해 학습시키는 단계이다. 이 단계에서는 세부 변수를 튜닝할 필요가 있다. 이를테면 학습 속도나 뉴럴 네트워크의 폭이나 깊이, 드롭아웃(Dropout)의 수, 컨볼루셔널 필터의 크기 등이다. 이를 하이퍼파라미터(Hyper Parameter)라고 하는데, 학습 과정에서 모델의 정확도를 높이기 위해서 이러한 변수들을 자동으로 튜닝할 수 있는 아키텍쳐를 가지는 것도 추천된다.
- 예측(Predict) : 머신러닝은 예측을 위한 작업이다. 앞서 학습된 데이터를 바탕으로 새로운 인풋 데이터가 들어왔을 때 예측 값을 반환하는 작업이다. 예측의 정확성은 어떤 데이터가 어떤 모델에 의해 어떤 하이퍼 파라미터값을 갖고 학습했느냐에 따라 달라진다.
학습의 전제로서 벡터화(Vectorization)
컴퓨터가 학습을 하기 위해서는 사람이 인지하는 데이터를 컴퓨터가 인지하기 위해 데이터의 사전 처리가 필요하다. 예를 들면, 텍스트로 된 사용자 행동로그 데이터 테이블, 자연어로 구성된 문장, 음성신호, 디지털 이미지, 동영상 등의 데이터는 계산 가능한 정량적인 단위로 변환 및 벡터나 행렬 형태로 가공이 필요하다.
기계에 의한 학습이란 학습 대상의 존재 자체를 그대로 이해하는 것이 아니라 벡터나 행렬이라는 정량화한 수치와 배열을 이해한다라고 설명할 수 있다. 입력 데이터를 벡터 형태로 표현하는 이유는 입력 데이터가 n개의 특성으로 정량화 됐다면 n차원 벡터 공간에 표현할 수 있어 데이터를 직관적으로 이해하고 수학적인 분류 모델을 만들기 쉽기 때문이다.
사례로서 Word2Vec과 벡터화
word2vec은 2013년 구글에서 발표된 연구로, 토마스 밀코로프(Tomas Mikolov)라는 연구자를 중심으로 여러 연구자들이 모여서 만든 Continuous Word Embedding 학습 모형이다. 이 논문을 집필한 사람 중에는 구글 엔지니어인 제프 딘(Jeffery Dean) 도 있다는 점이다. 이 모델이 기존 신경망 기반 학습방법에 비해 크게 달라진 것은 아니지만, 계산량을 엄청나게 줄여서 기존의 방법에 비해 몇 배 이상 빠른 학습을 가능케 하여 현재 가장 많은 이들이 사용하는 Word Embedding 모델이 되었다.
Word2vec은 말뭉치(corpus)를 입력으로 받아서 말뭉치의 단어를 벡터로 표현 하는 방법을 찾는데, 이 벡터의 값은 말뭉치에서 단어가 가지는 의미나 역할을 잘 표현해주는 값이어야 한다. 이렇게 단어의 의미와 맥락을 고려하여 단어를 벡터로 표현한 것을 word embeddings라고 한다. Word2vec은 심층신경망은 아니지만 심층 신경망은 전처리 단계로 많이 쓰인다.
이해해야 할 몇 가지 개념들
오류역전파(Backpropagation)
에러의 역전파를 통해 출력층에서 나타난 에러를 최소화하는 가중치를 찾는 과정이다. 피드포워드 된 예상값과 실제갑의 차이인 오류를 구하고 델타 룰(주로 경사하강법)을 적용하게 된다. 계산된 에러의 최소평균제곱의 미분값을 이용해 학습률을 선정한 뒤 학습률만큼 수정된 가중치를 구하게 된다. 제프리 힌튼은 뉴럴네트워크가 자신만의 지능이 되기 위해서는 역전파를 없애는 것이 맞다고 생각한다고 주장. 라벨링 된 데이터가 없는 비지도 학습(unsupervised learning)이 결론일 수 있다는 의미라고 설명할 수 있다.
경사하강법(Gradient Descent)
머신러닝 알고리즘은 오류역전파에서 언급했다시피 오류를 최소화(비용 함수 최소화)하기 위한 과정이다. 일반적으로 오류를 정의하게 되면, 오류가 최솨화되는 파라미터 값을 찾아내야 한다. 이 과정에서 선형모델의 경우 경사하강법을 일반적으로 활용하게 된다. 반면 유전자 모델에서는 조합 최적화 방식을 선택한다.
경사하강법은 위 비용 함수를 최소화하기 위한 기울기를 확인하는 작업으로 진행된다. 만일 3차원 공간에서 굴곡진 면으로 나타날 경우 경사하강법은 임의의 위치에서 조금씩 아랫 방향으로 나아가는 방법이라고 할 수 있다.
과적합(Overfitting)
머신러닝 알고리즘의 목표는 현재를 설명하는 것이 아니라 미래를 예측하는 것
주어진 데이터에 비해 높은 복잡도를 지닌 모델로 학습시킬 때 발생
알고리즘 모델링을 제외하면 가장 해결하기 어려운 문제로 평가되고 있음
Training Data와 Validation Data를 일반적으로 8:2 or 7:3로 분배해 이 문제를 해결하고 있으나 근본적이지는 않다.
차원 축소(Dimensionality Reduction)
차원이 증가하면, 이를 표현하기 위한 데이터의 양이 기하급수적으로 증가한다는 차원의 저주를 해결하기 위한 방법이다. 차원을 형성하는 수많은 Feature(벡터화된) 가운데 핵심만 추려내어 축소하는 방식이다. 주로 주성분분석이라 일컫는 PCA(Principle Component Analysis) 방식을 사용하게 된다. 학습하기 쉬운 방식으로 데이터를 다듬는 것이라고 볼 수 있다.
딥러닝의 두 가지 유형
합성곱 신경망(Convolutional Neural Network)
합성곱 신경망은 이미지 처리에 최적화된 신경망 알고리즘이다. 일반적으로 인공신경망은 이미지를 1차원으로 이해한다. 하지만 다수의 이미지는 3차원이라는 특성을 지니고 있다. 따라서 신경망 알고리즘이 처리하기 위해서는 3차원 사진 데이터를 1차원으로 평면화시켜야 한다.
사진 데이터를 평면화 시키는 과정에서 공간 정보가 손실될 수밖에 없다. 결과적으로 이미지 공간 정보 유실로 인한 정보 부족으로 인공 신경망이 특징 추출 및 학습이 비효율적이고 정확도를 높이는데 한계가 있다. 이미지의 공간 정보를 유지한 상태로 학습이 가능한 모델이 바로 CNN(Convolutional Neural Network)이다. CNN은 다음 3가지 레이어로 설계돼있다는 점이 다른 신경망과 차별화되는 지점이다.
- Convolution layer : Convolution feature를 추출하는 layer로 의미있는 특징들을 추출하기 위한 층이다.
- Pooling layer : 이미지의 특성상 많은 픽셀이 존재하기 때문에 feature를 줄이기 위해 subsampling을 하는 층이다.
- Feedforward layer : convolution layer와 pooling layer에서 나온 feature를 이용해서 분류를 하는 층이다.
순환 신경망(Recurrent Neural Network, RNN)
RNN은 글, 유전자, 손글씨, 음성 신호, 센서가 감지한 데이타, 주가 등 배열(sequence, 또는 시계열 데이터)의 형태를 갖는 데이터에서 패턴을 인식하는 인공 신경망이다. RNN은 궁극의 인공 신경망 구조라고 주장하는 사람들이 있을 정도로 강력하다. RNN은 배열 형태가 아닌 데이터에도 적용할 수 있다. 예를 들어 이미지에 작은 이미지 패치(필터)를 순차적으로 적용하면 배열 데이터를 다루듯 RNN을 적용할 수 있다.
RNN은 배열에 등장했던 패턴을 ‘기억’할 수 있는 능력이 있습니다. 이 부분은 사람의 기억과 기억력에 비유하면 아주 간결하게 설명할 수 있어서 종종 RNNs을 사람의 뇌처럼 취급합니다.
순차적인 데이터(Sequential data)를 학습하는데 특화되어 발전한 인공신경망의 한 방식
시간의 흐름에 따른 작업이기 때문에 backpropagation을 확장한 BPTT(Back-Propagation Through Time)을 사용해서 학습을 한다.
결론
참고 문헌
이재현.(2013). 디지털 문화. 커뮤니케이션북스.
Domingos, P. (2015). The master algorithm: How the quest for the ultimate learning machine will remake our world. Basic Books. 강형진 옮김. (2016). 마스터 알고리즘. 머신러닝은 우리의 미래를 어떻게 바꾸는가. 비즈니스북스.
APPENDIX
2018년 딥러닝 알고리즘의 트렌드
Deep learning theory
의미와 특성
인간의 뇌를 모방한 딥뉴럴네트워크는 이미지, 오디오 및 텍스트 데이터를 배울 수 있는 능력을 보여줬다. 그러나 10년 이상 사용된 후에도 뉴럴네트워크가 학습하는 방법이나 왜 그들이 잘 수행하는지 등을 포함해서 딥러닝에 대해(내부의 작동) 아직 많이 알지 못한다. 하지만 딥러닝에 정보병목(Information Bottlneck) 현상의 원리를 적용하는 새로운 이론 덕분에 변화할 수 있었다. 본질적으로 초기 피팅 단계가 끝나면 딥뉴럴네트워크는 노이즈가 많은 데이터, 즉 많은 의미없는 정보가 포함된 데이터 세트를 잊어버리고 압축하면서 데이터가 나타내는 내용에 대한 정보를 보존한다.
중요한 이유
딥러닝에 대한 정확한 이해는 추가적인 개발과 다양한 활용을 가능하게 한다. 예를 들어, 최적의 네트워크 설계 및 아키텍처 선택에 대한 통찰력을 제공할 수 있을 뿐만 아니라 안전에 중대한 영향을 미치거나 규제 애플리케이션에 대한 투명성을 높일 수 있다.
Capsule networks
의미와 특성
새로운 유형의 심층신경망. 시각 정보를 두뇌와 거의 같은 방식으로 처리하므로 계층적 관계를 유지할 수 있다. 이것은 가장 널리 사용되는 뉴럴네트워크 중 하나인 컨볼루션 신경망(CNN)과는 상당히 대조적. CNN은 단순한 객체와 복잡한 객체 사이의 중요한 공간 계층 구조를 고려하지 못해 잘못된 분류와 높은 오류율이 발생한다.
딥러닝의 아버지 제프리 힌튼이 새로운 논문을 발표하면서 전세계의 주목을 받기 시작(Pechyonkin. 2017.11.15.)
중요한 이유
전형적인 식별 작업의 경우 캡슐 네트워크가 오류를 줄임으로써 정확도를 50%까지 높일 수 있다. 또한 트레이닝 모델을 위해 많은 양의 데이터를 필요하지 않는다. 문제가 많은 영역과 딥뉴럴네트워크 아키텍처에서 캡슐 네트워크가 널리 사용될 것으로 기대된다.
Deep reinforcement learning
의미와 특성
관찰, 행동 및 보상을 통해 환경과 상호 작용하여 학습하는 유형의 신경 네트워크. 심층강화학습(DRL)은 아타리(Atari)나 바둑(Go)와 같은 게임 전략을 배우는 데 사용됐다. 알파고도 포함돼있다.
중요한 이유
DRL은 모든 학습 기술 가운데 가장 보편적인 용도로 활용된다. 때문에 대부분의 비즈니스 응용 프로그램에서 사용할 수 있다. 모델을 훈련시키는 데 필요한 다른 기술보다 적은 데이터가 필요하다. 더욱 주목할 만한 점은 시뮬레이션을 통해 교육을 받을 수 있다는 점. 따라서 레이블이 지정된 데이터가 필요하지 않다.
Generative adversarial networks
의미와 특성
경쟁하는 한쌍의 신경 네트워크로 구현되는 비지도 딥러닝 시스템의 한 유형. 하나의 네트워크인 생성기는 실제 데이터 세트와 정확히 일치하는 가짜 데이터를 생성한다. 두 번째 네트워크 인 판별기(discriminator)는 실제 및 합성 데이터를 수집한다. 시간이 지나면 각 네트워크가 개선되면서 쌍이 주어진 데이터 세트의 전체 분포를 학습할 수 있다.
중요한 이유
GAN은 라벨링 된 데이터가 존재하지 않거나 너무 비싸서 얻을 수 없는 넓은 범위의 비지도 작업에 딥러닝을 적용하다. 또한 두 네트워크가 부담을 공유하기 때문에 딥뉴럴네트워크에 필요한 로드를 줄여준다. 사이버 탐지와 같은 응용 프로그램에 GAN이 사용하게 될 것으로 기대되고 있다.
Lean and augmented data learning
의미와 특성
기계 학습 (특히 심화 학습)에서 가장 큰 과제는 시스템을 훈련시키기 위해 대량의 라벨링 데이터를 사용할 수 있게 하는 것. 두 가지 광범위한 기술을 통해 (1) 새로운 데이터를 합성하고 (2) 하나의 작업 또는 도메인에 대해 교육된 모델을 다른 것으로 이전할 수 있다. 전이 학습 (하나의 영역 / 도메인에서 습득한 인사이트를 다른 영업 / 도메인으로 전이) 또는 원샷 학습 (관련 사례가 하나 또는 전혀없는 학습으로 극단적인 전이 학습)과 같은 기술 - "린 (lean) 데이터"학습 기법에 해당. 유사하게, 시뮬레이션이나 내삽(보간, interpolation)을 통해 새로운 데이터를 합성하면 더 많은 데이터를 얻을 수 있으므로 기존 데이터를 보강하여 학습을 향상시킬 수 있다.
중요한 이유
이 기술을 사용하여 다양한 문제, 특히 과거 데이터가 적은 문제를 해결할 수 있다. 린 (lean) 및 증강된 데이터의 다양한 변형뿐만 아니라 광범위한 문제에 적용해볼 수 있다.
Probabilistic programming
의미와 특성
개발자가 확률 모델을 쉽게 설계할 수 있게 해주고 이러한 모델을 자동으로 풀어주는 고급 프로그래밍 언어. 확률론적 프로그래밍 언어는 모델 라이브러리를 재사용하고, 상호작용 모델링 및 형식 검증을 지원하고, 보편적인 모델 클래스에서 일반적이고 효율적인 추론을 촉진시키는데 필요한 추상화 계층을 제공하는 것을 가능하게 한다.
중요한 이유
확률론적 프로그래밍 언어는 비즈니스 영역에서 흔히있는 불확실하고 불완전한 정보를 담아낼 수 있다. 이 언어들은 더 많이 채택될 것으로 기대.
Hybrid learning models
의미와 특성
GAN 또는 DRL과 같은 다양한 유형의 딥뉴럴네트워크는 다양한 유형의 데이터로 보편적인 적용 가능성이나 성능 측면에서 큰 가능성을 보여줬다. 그러나 딥러닝 모델은 불확실성, 베이지안 방식, 확률론적 접근으로 모델링하지 않는다. 하이브리드 학습 모델은 각각의 장점을 활용하기 위해 두 가지 접근 방식을 결합. 하이브리드 모델의 예로는 베이지안 딥러닝, 베이지안 GAN, 베이지안 조건부 GAN 등이 있다.
중요한 이유
하이브리드 학습 모델을 사용하면 불확실성이 있는 딥러닝을 포함해 다양한 영역으로 확장해 적용해볼 수 있다. 이는 우리가 더 나은 퍼포먼스와 모델의 설명가능성을 확보하는데 도움이 될 수 있다. 더 널리 보급 될 수 있다는 걸 의미한다. 확률론적 프로그래밍 언어의 조합이 습을 통합하기 시작하는 동안 더 깊은 학습 방법이 베이지안 등가물을 얻는 것을 기대하십시오.
Automated machine learning (AutoML)
의미 및 특성
머신러닝 모델을 개발하려면 데이터 준비, 피처 선택, 모델 또는 기술 선택, 트레이닝 및 튜닝 등 시간이 많이 걸리는데다 전문가 주도의 워크플로도 필요로 한다. AutoML은 다양한 통계 및 딥러닝 기법을 사용해 이 워크플로를 자동화하는 것을 목표로 한다.
중요한 이유
AutoML은 AI 툴의 민주화로 인식되는데, 비즈니스 사용자들이 깊은 프로그래밍에 대한 배경 지식 없이 도 머신러닝 모델을 개발할 수있게 해준다. 또한 데이터과학자가 모델을 만드는데 걸리는 시간도 단축시켜준다. 더 많은 상업용 AutoML 패키지와 대형 머신러닝 플랫폼 내에서의 AutoML 통합이 기대되고 있다.
Digital twin
의미 및 특성
디지털 트윈은 신체 또는 심리적 시스템의 상세 분석과 모니터링을 돕는 가상모델이다. 디지털 트윈의 개념은 풍차 농장이나 산업시스템과 같은 것들을 분석하고 모니터하기 위해 폭넓게 사용되어온 산업계에서 시작됐다. 이제는 에이전트 기반 모델링(자율 에이전트의 동작 및 상호작용을 시뮬레이션하기 위한 계산 모델)과 시스템 역학(정책 분석 및 설계에 대한 컴퓨터 지원 접근방식)을 사용함으로써, 디지털 트윈은 고객을 예측하는 것을 포함하여 비물리적 개체 및 프로세스에 적용되고 있다.
중요한 이유
디지털 트윈은 IoT 시스템을 예측적으로 진단하고 유지하는 방법을 제공함으로써 사물인터넷(IoT) 개발 및 채택을 도울 수 있다. 앞으로는 물리적 시스템과 소비자 선택 모델링 모두에서 디지털 트윈을 더 많이 사용할 것으로 보인다.
Explainable AI
의미 및 특성
요즘, 다양한 응용프로그램에서 감각, 사고, 작동 등을 사용하는데 있어 머신러닝 알고리즘을 평가(scoring)하는 방식이 많이 사용되고 있다. 그러나 이러한 알고리즘 중 많은 부분이 "블랙박스"로 간주되어 결과에 어떻게 도달했는지에 대한 통찰력을 얻을 길은 거의 없다. Explainable AI는 예측 정확도를 유지하면서 설명이 가능한 모델을 생산하는 머신러닝 기술을 개발하려는 움직임이다.
중요한 이유
설명 가능하고 증명 가능하며 투명성을 갖춘 AI는 기술에 대한 신뢰를 구축하는 데 중요하며 머신러닝 기술의 채택을 장려하게 될 것이다. 기업은 AI 보급에 착수하기 전에 ‘설명가능한 AI’를 요구 사항 또는 모범 사례로 채택할 것이고 정부는 ‘설명가능한 AI’를 미래의 규제 요구 사항으로 만들 수 있다.