
인공지능 과목에서 기본 중의 기본이다. 엄밀히 따지고 들어가면 반론의 여지가 전혀 없는 것은 아니지만 통상적으로 배우는 인공지능, 기계학습, 딥러닝 사이의 관계는 인공지능>기계학습>딥러닝의 포함관계가 맞다. 따라서 정답은 ①.
기계학습(머신러닝)과 딥러닝의 차이는 이론적으론 은닉층의 차이로 구분하기도 하고, 수학적 알고리즘 모델 유무로 구분하기도 한다. 원칙직으론 은닉층의 개수가 2개 이상이면 딥러닝으로 구분하는 식. SVM(Support Vector Machine)이나 다수 clustering 알고리즘의 경우 통상적으로 머신러닝으로 분류한다.

- BERT는 chatGPT가 나오기 전에 한때 주목받았던 유명한 자연어처리 모델이다. 2019년인가 구글에서 발표한 논문에 소개된 모델이며 내 석사학위 졸업 논문 주제이기도 하다. 대부분의 자연어처리 모델이 그렇듯 transformer를 기초로 설계된 모델이며, pre-train된 임베딩 모델을 tunning하는데 유용하게 쓰일 수 있는 모델이다. 좀더 깊게 들어가면 MLM(Masked Language Model)과 NSP(Next Sentence Prediction)를 통해 학습한다.
- GPT는 OpenAI에서 개발한 GPT 시리즈를 통틀어 이르는 모델이다. 많이 상용화된 ChatGPT가 이 모델을 사용한다.
- Transformer는 오늘날 존재하는 거의 모든 자연어처리 모델의 근간이 되는 모듈이다. Multi-head self attention과 Feed Forward Neural Network가 핵심 모듈이며 transformer를 제대로 이해하기 위해서는 multi-head self-attention, 나아가 self-attention mechanism을 이해할 필요가 있다. 일단은 그렇다는 것만 알아두자.
- OpenCV는 Open Computer Vision의 약자로, 이름만 들어도 알겠지만 컴퓨터 비전 분야의 거의 표준 라이브러리다.
따라서 정답은 ②

약 AI와 강 AI를 구분하는 문제. 이 주제는 그렇게 어려울 것이 없다. 현재 강 AI라 분류되는 모델은 단 하나도 없기 때문이다. 약 AI는 특정 문제에 대해 해결 능력을 갖춘 모델로, 우리가 흔히 알고 있는 알파고, chatGPT, diffusion model 등 모두 약 AI다. 왜냐? 알파고가 갑자기 스타크래프트를 겨룬다거나, chatGPT가 그림을 그려줄 수는 없으며, diffusion model이 음성을 출력할 수는 없기 때문. 즉, 강 AI의 정의는 특정 분야 문제가 아니라 진짜 인간처럼 여러 분야에 대한 문제 해결 능력이 있는 AI를 의미한다. 따라서 답은 ④

전문가 시스템의 구성 요소에 대한 질문이다. 전문가 시스템의 구성 요소는 단 3개 뿐이다. 지식 베이스(Knowledge Base), UI, 추론 엔진. 좀더 넓게 보면 설명 시스템도 포함시킬 수 있는데, 기본적으론 저 3개만 따지는듯 하다.
- 지식 베이스 : 추론 엔진의 기반이 되는 일종의 규칙 저장 DB. if ~ then ~ 형식의 규칙으로 구성되어 있다.
- 추론 엔진 : 지식 베이스에 저장된 규칙들을 바탕으로 새로운 규칙들을 생성하는 역할을 한다.
- UI : 사용자와 상호 작용할 수 있는 인터페이스.
- 설명 시스템 : 추론 엔진의 결과를 논리적으로 설명할 수 있는 모듈

23년 7급 인공지능 과목의 문제 출제 경향을 단적으로 보여주는 문제다. 전체적으로 문제의 답을 찾는 것은 쉬운데, 그 중에 어려운 혹은 낯선 선지가 꼭 하나씩은 껴있어서 혼란을 유발하는 패턴의 문제가 매우 많다.
아마 생소했던 선지는 2번이었을 것이다. 허용성을 갖지 않는 A* 알고리즘? 나도 시험 때는 당황했다. A* 알고리즘이 최적해를 보장받는 2가지 조건이 있는데, 첫 번째는 허용성(admissible), 두 번째는 일관성(Consistency)이다.
하지만 이와는 별개로 BFS가 전역 최적값이 보장되는 기법이므로 문제 자체는 어렵지 않게 ①번으로 쉽게 답을 찾을 수 있다.

생성 모델에 관한 문제. 생성 모델은 우리가 흔히 접할 수 있는 AutoEncoder, GAN 등이 가장 대표적이며, 좀더 파고들면 Restricted Boltzmann Machine(RBM)까지도 갈 수 있다. Autoencoder는 7급 시험에서도 꽤 깊게 다뤘으므로 제대로 공부하는 것이 좋다.
① 생성 모델의 대표적인 활용 사례다. 좀더 응용해서 특정 사진을 고흐의 화풍으로 바꾼다던지 하는 활용도 가능하다.
② 원래 Autoencoder는 encoder/decoder를 통해 latent variable을 생성하여 가상의 데이터를 생성하는데, encoder/decoder가 신경망이 아닌 convolution layer로도 구현 가능하며, 이를 특별히 CAE(Convolutional AE)라고 부른다.
③ GAN은 Generator, Discriminator로 구성되어 있는데, Generator는 임의의 이미지를 생성하고, Discriminator는 Generator가 생성한 이미지의 참/거짓을 판별한다. GAN의 궁극적인 목표는 Discriminator가 Generator가 생성한 이미지의 참/거짓을 식별하지 못하는 것.
④ 얼핏 보면 추상적인 설명이지만, 실은 AE와 VAE의 핵심 차이점을 설명하는 선지다. AE는 latent variable을 encoder가 생성하는 반면 VAE는 latent space를 encoder가 생성한다. 이 차이가 무엇을 의미하는지는 추후 다시 설명.
따라서 정답은 ③

혼동 행렬은 5급에서도 출제됐기도 하고, 개인적으론 인공지능 공무원 시험에서 낼만한 가장 좋은 주제 중 하나라고 생각한다. 그래서 혼동 행렬에서 제시하는 특이도, 민감도, 재현율, 정밀도, F1 score뿐만 아니라 TPR, FPR과 같은 척도, 그리고 이와 연계해서 ROC 곡선의 개념까지도 알아두면 좋을 것 같다.
- 특이도 : TN/(FP+TN)
- 민감도(재현율) : TP/(TP+FN)
- 정밀도 : TP/(TP+FP)
- F1 score : 2×(정밀도×재현율)/(정밀도+재현율)
- TPR : TP/(TP+FN)
- FPR : FP/(FP+TN)
이 식들을 보면서 눈에 띄는 것들이 있다. 특이도와 FPR, 민감도와 TPR의 분모가 같다는 것이다. 그래서 이를 활용해서 문제를 출제할 수 있다.
어쨌건 정답은 ②

동질 마르코프 체인은 그냥 마르코프 체인이라고 생각해도 된다. 굳이 homogeneous를 붙인 이유는 주어진 전이 확률 행렬이 고정된 것이라고 쐐기를 박기 위함이다. 그래서 조건부 확률 문제를 풀어주면 된다. 오늘 날씨가 맑을 경우 내일 날씨가 흐릴 확률은 0.2, 내일 날씨가 흐릴 경우 모레 날씨도 흐릴 확률은 0.7이다. 따라서 0.2×0.7=0.14 정답은 ②

어려워보이지만 실상은 간단한 문제. 주어진 식을 이리 돌리고 저리 돌리다 보면 답이 나온다. 참고로 경사하강법은 아래 식으로 쓸 수 있으며, f(x)는 손실 함수를 의미한다. 문제는 Loss(W, b)라고 줬다.
정답은 ①번. 편미분 과정에서 틀렸는데, xi 에 대해 편미분하면 그 계수인 W가 괄호 밖으로 나와야 하는데, 그렇지 않았기 때문에 틀렸다. 나머지는 경사 하강법에 따른 W, b의 업데이트 식을 이리저리 돌려쓴 식이다.
경사하강법은 사실 많은 문제를 안고 있는 최적화 함수다. local minimum 문제, saddle 문제, 계산의 효율성 등 많은 문제가 있다. 경사하강법은 매 업데이트마다 모든 데이터 포인터에 대해 가중치를 계산해서 업데이트하기 때문에 연산량이 많아지는 문제가 있고, 결정적으로 local minimum을 해결할 최소한의 수단조차 없다는 것이 큰 문제다.
이를 해결하기 위해 등장한 것이 Stochastic Gradient Descent(SGD)이다. SGD는 일부 샘플링된 데이터에 한해서만 가중치를 계산하여 업데이트하여 계산량도 일부 줄이고 local minimum 문제가 발생할 확률도 낮췄으나, 그만큼 최적해를 찾을 확률도 낮췄다.
이 외에도 RMSProp, AdaGrad, Adam 등의 최적화 함수도 있는데, 더 추가적으로 찾아보고 공부하는 것이 좋을 듯 하다.
'잡설' 카테고리의 다른 글
23년 7급 인공지능 기출 해설 (20~25번) (0) | 2024.05.24 |
---|---|
23년 7급 인공지능 기출 해설 (10~19번) (0) | 2024.05.24 |
Tchaikovsky Symphony No.5 (0) | 2023.05.11 |
잡담 - 로아온 윈터와 플레체 (0) | 2023.05.11 |
추억(追憶).. 5/13 로스트아크 특별 생방송 (0) | 2023.05.11 |