한국인공지능학회 KAIST 윤철희 교수 – SK hynix Newsroom 'SK하이닉스 뉴스룸'은 SK하이닉스의 다양한 소식과 반도체 시장의 변화하는 트렌드를 전달합니다 Mon, 17 Feb 2025 07:08:37 +0000 ko-KR hourly 1 https://wordpress.org/?v=6.7.1 https://skhynix-prd-data.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2024/12/ico_favi-150x150.png 한국인공지능학회 KAIST 윤철희 교수 – SK hynix Newsroom 32 32 [All Around AI 4편] 딥러닝의 이해 /all-around-ai-4/ /all-around-ai-4/#respond Tue, 27 Aug 2024 15:00:00 +0000 http://localhost:8080/all-around-ai-4/

우리 삶을 혁신적으로 바꾸고 있는 인공지능(Artificial Intelligence, AI). AI를 알고, 이해하고 또 활용하고 싶은 이들을 위해 <AAA – All Around AI>에서 AI 기술에 대한 모든 것을 알려드립니다. 앞선 회차에서 머신러닝(Machine Learning, 기계 학습)이 기존의 규칙 기반 인공지능에 비해 가지는 강점과 차이점을 알아보았습니다. 이번에는 딥러닝(Deep Learning, 심층 학습)의 개념과 대표적인 신경망 구조 등에 대해 살펴봅니다.

 

<시리즈 순서>
① AI의 시작과 발전 과정, 미래 전망
② AI 알고리즘의 기본 개념과 작동 원리
③ 머신러닝의 이해
④ 딥러닝의 이해
⑤ 스마트폰과 온디바이스(on-device) AI의 미래
⑥ 생성형 AI의 개념과 모델

딥러닝의 개념

딥러닝의_이해_머신러닝과_딥러닝의_차이

▲ 머신 러닝과 딥러닝의 차이

딥러닝은 머신 러닝의 한 분야지만, 전통적인 머신 러닝 기법들과는 접근법에서 큰 차이를 보인다. 전통적인 머신 러닝은 도메인 지식*을 활용해 데이터의 특징(Feature)을 추출하고 이를 디자인한다. 이 과정은 사람의 시행착오와 노력이 필요했다. 다만, 훈련 과정은 비교적 쉬운 작업으로 디자인한 특징들에 적용할 가중치(Weight)만 학습하면 훈련이 완료되었다.

* 도메인 지식(Domain Knowledge): 특정 분야나 문제에 대한 전문적인 지식과 이해를 의미한다. 머신 러닝에서 도메인 지식은 해당 데이터의 특징(Feature)을 이해하고, 설계하는 과정에서 중요한 역할을 한다.

이와 달리 딥러닝은 심층 신경망(Deep Neural Network, DNN)을 사용해 복잡한 데이터 특성을 스스로 학습하고 추출한다. 여러 층(Layer)으로 이루어진 심층 신경망은 이전 층의 출력을 입력으로 받아 특정한 변환을 수행한 후 이를 그 다음 층으로 전달한다. 이 변환 과정은 뉴런* 간의 연결선에 할당되는 학습 가능한 파라미터*들과 활성화 함수*로 이뤄지며, 이 파라미터 값을 적절히 설정하는 것이 학습의 핵심이다.

* 뉴런(Neuron): 입력 신호를 받아 처리하고 출력을 생성하는 기본 단위. 노드(node)라고도 한다.
* 학습 가능한 파라미터(Learnable Parameter): 뉴런 간의 연결 강도를 나타내는 값으로, 주로 가중치(weight)와 편향(Bias)이 포함된다. 이 파라미터들은 학습 과정에서 최적화 알고리즘에 의해 조정되어 모델이 주어진 데이터에 대해 최적의 예측을 할 수 있도록 한다.
* 활성화 함수(Activation Function): 입력 신호의 총합을 비선형적으로 변환하여 뉴런의 최종 출력을 결정하는 함수

물론, 딥러닝에도 단점은 있다. 첫째, 많은 파라미터와 데이터가 필요해 상당한 연산량과 시간이 소요된다. 둘째, 심층 신경망을 잘 훈련시키기 위해 필요한 하이퍼파라미터(Hyperparameter)*를 찾기 위해서는 여전히 많은 시행착오가 필요하다. 마지막으로 딥러닝 모델은 그 작동 방식이 복잡해 어떤 요소가 예측에 중요한 역할을 하는지 파악하기 어렵다. 이는 딥러닝에 대한 신뢰성 문제로 이어져 실생활에 AI 모델을 적용하는 데 여러 법적, 제도적 걸림돌을 초래하고 있다.

* 하이퍼파라미터(Hyperparameter): 학습 가능한 파라미터와는 달리 학습 과정에서 자동으로 조정되지 않고 사전에 정의되는 값

그럼에도 딥러닝은 스스로 특징을 추출하는 성능 때문에 기존의 머신 러닝 방법론에 비해 월등히 우수한 성능을 보이며, 오늘날 인공지능 방법론의 대표 주자로 자리매김했다.

심층 신경망의 구조

딥러닝에서 사용되는 심층 신경망은 크게 세 가지 주요 층으로 구성되며, 각 층의 역할과 기능은 다음과 같다.

딥러닝의_이해_심층_신경망의_구조

입력층(Input Layer)
입력층은 신경망에 데이터를 제공하는 첫 번째 층이다. 이 층은 외부로부터 데이터를 받아 신경망의 내부로 전달하는 역할을 한다. 예를 들어 이미지 처리에서는 각 픽셀의 값이 입력층으로 들어가며, 자연어 처리에서는 단어 또는 문자의 숫자화된 형태가 입력층으로 입력된다.

은닉층 (Hidden Layer)
은닉층은 데이터의 패턴이나 특징을 학습하는 층이다. 각 은닉층은 이전 층으로부터의 입력값을 받아 처리하고 다음 층으로 결과를 전달한다. 이 과정에서 각 입력값에 특정 가중치를 곱하여 중요한 특징을 더 잘 인식할 수 있게 한다. 은닉층의 수는 문제의 복잡성, 데이터의 양, 그리고 모델의 성능 요구 사항에 따라 다르게 설정된다.

출력층 (Output Layer)
출력층은 신경망의 마지막 층으로 결과나 예측을 나타낸다. 출력층에서는 가능한 답들의 확률을 계산해, 가장 높은 확률을 가진 답을 최종적으로 선택한다.
심층 신경망은 이 구조를 기본으로 다양한 모델을 개발하고 개선하며 발전해 왔다. 대표적으로 ▲모든 뉴런이 서로 연결된 기본 신경망 구조인 ‘완전 연결 신경망(Fully-Connected Network)’ ▲이미지 처리에 최적화된  ‘합성곱 신경망(Convolutional Neural Network)’ ▲문장 번역이나 음성 인식 같은 연속된 데이터 처리에 적합한 ‘순환 신경망(Recurrent Neural Network)’ ▲복잡한 이미지 분류 작업에 사용되는 ‘잔차 신경망(Residual Network)’ ▲자연어 처리 분야에서 처음 제안되어 챗GPT(ChatGPT)를 비롯한 거대 언어 모델(Large Language Model, LLM) 등 최신 AI 모델의 근간이 되는 ‘트랜스포머(Transformer)’ 등이 있다.

이와 같은 신경망 구조들은 각각의 특성에 맞춰 다양한 분야에서 활용되며, 딥러닝의 예측 성능을 높이는 데 기여하고 있다.

심층 신경망의 학습 과정

심층 신경망의 학습 과정은 크게 순전파와 역전파 과정으로 구성된다. 순전파는 입력 데이터를 신경망에 정방향으로 통과시켜 예측값을 얻는 과정이다. 즉, 입력 데이터가 신경망에 주어지면, 각 층의 뉴런이 이를 처리하여 다음 층으로 전달하고, 이 과정을 반복하여 출력층에서 최종 예측값을 생성한다.

예를 들어, 손으로 쓴 숫자를 인식하는 신경망을 구성했다고 가정해 보자. 입력층에 숫자 이미지가 제공되면, 첫 번째 은닉층은 이미지의 간단한 특징들(예: 선의 방향, 모서리)을 추출하여, 이를 다음 층으로 전달한다. 마지막 은닉층은 훨씬 더 복잡한 특징들을 결합하여 숫자를 판별하는 데 필요한 정보를 형성한다. 이렇게 순전파를 통해 최종적으로 예측 결과를 얻게 되는 것이다.

이후 이 예측값과 실제값(라벨)을 비교하여 손실 함수로 예측의 정확도를 평가한다. 손실이 크다는 것은 예측이 실제값과 많이 다르다는 뜻이다. 손실이 계산되면 역전파 과정이 시작된다. 역전파는 손실값을 최소화하기 위해 신경망의 파라미터 값을 조정하는 과정이다. 이 과정은 순전파와는 반대로, 출력층에서 입력층 방향으로 진행된다.

출력층에서 손실 함수의 변화에 따른 기울기(Gradient)를 계산하고, 이 기울기와 각 뉴런의 활성화 함수 기울기를 바탕으로 각 파라미터가 손실 함수에 미치는 영향을 평가한다. 이렇게 파라미터에 대한 손실 함수의 기울기가 계산되면, 경사 하강법* 등의 최적화 알고리즘을 사용해 파라미터 값을 손실 함수가 작아지는 방향으로 업데이트한다. 신경망은 이 과정을 여러 번 반복해 점점 더 정확한 예측을 하는 모델로 발전하게 된다.

* 경사 하강법(Gradient Descent: 비용 함수를 최소화하기 위해 기울기를 따라 매개변수를 업데이트하는 최적화 알고리즘

한편, 일반적으로 신경망의 출력 층은 마지막 은닉층 뉴런들의 출력값에 가중치(Weight)를 곱한 후 이들을 더해 예측값을 출력한다. 때문에 맨 마지막 은닉층 뉴런의 출력값은 신경망이 데이터로부터 학습하고 추출해 낸 특징으로 간주할 수 있다.

딥러닝의 역사를 바꾼 대표 사례

최근 10여 년간 딥러닝은 수많은 성공 사례를 보여주면서 인공지능의 양적/질적 성장을 주도해 왔다. 대표 사례를 몇 가지 꼽자면 아래와 같다.

1)합성곱 신경망과 이미지넷(ImageNet)

이미지 인식 분야는 딥러닝이 크게 발전시킨 분야 중 하나로, 여기에는 합성곱 신경망의 역할이 컸다. 합성곱 신경망은 이미지의 지엽적인 부분에서 패턴을 추출하는 데 특화된 구조로, 여러 합성곱 층을 쌓아 이미지의 계층적 구조를 효과적으로 파악하고 특성을 추출하는 모델을 만들 수 있다.

이러한 딥러닝 방법론의 우수성을 널리 알린 대표적인 사례는 2012년의 이미지넷 대규모 시각 인식 챌린지(ImageNet Large Scale Visual Recognition Challenge, ILSVRC)이다. 이 대회에서 토론토 대학의 제프리 힌튼(Geoffrey E. Hinton) 교수의 연구팀이 개발한 AlexNet이라는 딥러닝 모델은 기존의 전통적인 기계 학습 방법론들을 크게 능가하는 성능을 보이며 우승을 차지했다. 당시 AlexNet의 에러율은 15.3%로, 2등을 차지한 모델인 26.2%에 비교하면 매우 낮은 수치다. 이러한 성과는 컴퓨터 비전 분야에 큰 충격을 안겨주었고, 이후 딥러닝은 컴퓨터 비전의 다양한 분야에서 뛰어난 성능을 보여주고 있다.

2) 알파고, 바둑을 마스터하다

바둑은 경우의 수가 워낙 많아 AI가 정복하기 불가능한 게임이라 여겨왔다. 그러나 구글 딥마인드에서 개발한 알파고는 이런 믿음을 완전히 깨부수며 AI의 능력에 대한 대중의 관심을 불러일으켰다.

2016년, 알파고는 프로바둑기사 이세돌 선수와 대결을 펼쳤다. 실제 대국이 이뤄지기 전까지는 인공지능이 정상의 프로기사를 넘어서기에는 아직 부족하다는 예상이 지배적이었으나, 실제 이뤄진 대국에서는 4:1로 알파고가 이세돌 선수를 압도하며 세계를 놀라게 했다. 이처럼 놀라운 성능의 바둑 AI를 만들기 위한 딥마인드의 접근법은 딥러닝, 강화 학습 그리고 확률적 탐색 알고리즘을 접목시키는 것이었다. 인간의 기보를 통해 바둑판의 돌의 배열 상태와 수에 대한 ‘점수’를 심층 신경망으로 학습하고, 강화 학습을 사용해 스스로 대국을 반복하며 전략을 정교하게 다듬어 뛰어난 실력을 연마할 수 있었다.

3) 또 다른 딥마인드의 혁신, 알파폴드

▲ 알파폴드는 오랫동안 난제로 여겨져온 ‘단백질 접힘 문제’를 AI라는 새로운 접근법을 통해 효율적으로 풀어가고 있다.

알파고 이후 구글 딥마인드가 2018년에 처음 발표한 알파폴드(AlphaFold)는 단백질의 3차원 구조를 높은 정확도로 예측할 수 있는 딥러닝 모델이다. 단백질의 접힘 구조는 신약 개발 등 의학, 생명과학 연구에서 중요한 역할을 하지만, 구조를 파악하는 데는 비용과 시간이 많이 소모된다. 알파폴드는 이 문제를 아미노산의 배열에서 3차원 구조를 예측할 수 있는 신경망을 훈련시키는 방법으로 접근했고, 단백질 구조 예측(Critical Assessment of Protein Structure Prediction, CASP) 대회에서 기존에 방법을 능가하는 성능으로 1등을 차지했다. 이후 딥마인드는 현재까지도 꾸준히 알파폴드를 업데이트하며 신약 개발에 더욱 효과적으로 활용될 수 있도록 개선하고 있다.

4) 점점 다가오는 완전자율주행시대

▲ 웨이모 드라이버가 소개하는 완전 자율주행 기술

딥러닝은 꿈으로만 여겨져 왔던 완전 자율주행을 현실로 만드는 데 핵심적인 역할을 하고 있다. 신경망을 사용해 카메라, 라이다(LiDAR), 레이더, GPS 등 다양한 센서로부터의 입력을 처리하고, 강화 학습 알고리즘을 사용해 차량의 조작 방법을 결정하는 것이다. 알파벳이 소유한 웨이모는 이미 미국 일부 지역에서 운전기사 없이 완전히 자동으로 운영되는 택시를 운행하고 있다.

또 테슬라는 오토파일럿 시스템을 중심으로 한 첨단 운전자 보조 시스템(Advanced Driver Assistance System, ADAS)을 제공하며 궁극적으로 운전자 없는 완전 자율 주행을 목표로 하고 있다. 테슬라는 라이다와 레이더 센서에 대한 의존도를 최소화하고, 차량에 장착된 다수의 카메라로 주변을 인식해 판단한다. 테슬라는 방대한 실제 주행 데이터를 활용하여 지속적으로 모델을 개선하고 있다. 이러한 기술적 진보는 완전 자율주행 시대에 대한 기대감을 불러왔지만, 기술의 안정성에 대한 법적·제도적 승인 등 여전히 극복해야 할 장애물은 남아 있다.

5) GPT 시리즈의 등장

오픈AI(OpenAI)가 개발한 GPT(Generative Pre-trained Transformer) 시리즈는 트랜스포머 구조를 기반으로 한 대형 언어 모델(Large Language Model, LLM)의 일종이다. 이 대형 언어 모델이 하는 일은 생각 외로 간단한데, 주어진 맥락을 바탕으로 다음에 올 자연스러운 단어를 예측하는 것이다. 모델의 크기가 커지고 데이터가 많아질수록, 처리할 수 있는 맥락의 길이도 길어지고, 번역, 질의응답, 작문까지도 수행할 수 있다.

2022년, GPT-3.5를 기반으로 한 챗봇인 챗GPT가 발표되었고 곧 GPT-4로 업데이트 되었는데, 자연스러운 대화 기능과 작문 능력으로 사회 전반에 엄청난 충격을 주었다. 교육, 사무, 작문, 개발 등 실생활 전반에서 생산성을 비약적으로 향상시켜줄 수 있는 대형 언어 모델의 잠재성을 증명했기 때문에, 챗GPT의 성공은 인공지능 업계에 큰 변화를 불러일으켰다.

※ 본 칼럼은 반도체/ICT에 관한 인사이트를 제공하는 외부 전문가 칼럼으로, SK하이닉스의 공식 입장과는 다를 수 있습니다.

]]>
/all-around-ai-4/feed/ 0
[All Around AI 3편] 머신러닝의 이해 /all-around-ai-3/ /all-around-ai-3/#respond Mon, 24 Jun 2024 15:00:00 +0000 http://localhost:8080/all-around-ai-3/

우리 삶을 혁신적으로 바꾸고 있는 인공지능(Artificial Intelligence, AI). AI를 알고, 이해하고 또 활용하고 싶은 이들을 위해 <AAA – All Around AI>에서 AI 기술에 대한 모든 것을 알려드립니다. 앞선 회차에서 인공지능의 발전 역사와 동작 원리를 알아보았습니다. 이번에는 인공지능의 가장 큰 줄기를 이루고 있는 머신 러닝(Machine Learning, 기계 학습)에 대해 조금 더 자세히 살펴봅니다.

 

<시리즈 순서>
① AI의 시작과 발전 과정, 미래 전망
② AI 알고리즘의 기본 개념과 작동 원리
③ 머신러닝의 이해
④ 딥러닝의 이해
⑤ 스마트폰과 온디바이스(on-device) AI의 미래
⑥ 생성형 AI의 개념과 모델

머신 러닝의 개념

[All Around AI 1편]에서 언급했듯 머신 러닝은 데이터의 패턴을 스스로 학습해 예측을 수행하는 알고리즘이다. 이 기술은 데이터의 폭발적인 증가와 함께 대표적인 인공지능 방법론으로 자리매김했다. 기존의 전통적인 인공지능은 인간이 규칙과 논리를 명확히 프로그래밍해야 했다. 이는 간단한 보드게임 같이 명확한 규칙이 있는 문제에는 효과적이었지만, 복잡한 데이터나 규칙을 다루는 경우 한계를 보였다. 예를 들어, 사진에서 고양이를 구별할 수 있는 인공지능을 만든다고 생각해 보자. 사진 속 수많은 픽셀에서 RGB 값이나 고양이의 패턴을 어떻게 처리할지, 어떤 방식으로 규칙을 설정할지 고민해 보면 이를 프로그래밍하는 일이 얼마나 어려운지를 실감하게 된다.

머신러닝의 이해_01_2024_그래픽

머신 러닝은 데이터 안에 숨겨진 복잡한 구조나 패턴을 발견하고, 이를 스스로 학습해 새로운 데이터의 예측을 수행하는 방식이다. 예를 들어 고양이의 유무를 판단하는 인공지능을 머신 러닝으로 만드는 경우, 다양한 사진(데이터)을 모아 알고리즘으로 학습시켜서, 고양이를 판단하는 방법을 스스로 파악하게 한다.

머신 러닝을 구현하는 과정은 크게 데이터 수집, 학습 모델 선택, 목적 함수 정의, 파라미터 학습 단계로 나눌 수 있다. 데이터 수집 단계에서는 학습에 필요한 데이터를 모으고, 학습 모델 선택 단계에서는 수집한 데이터를 가장 잘 표현할 수 있는 학습 모델을 선택한다. 목적 함수 정의 단계에서는 모델의 성능을 측정하기 위한 기준을 설정한다. 주로 모델의 예측이 실제 데이터와 얼마나 잘 일치하는지를 나타내는 손실 함수*로 표현된다. 마지막으로 파라미터 학습 단계에서는 파라미터를 조정하며 손실 함수를 최소화하는 방향으로 학습을 진행한다. [All Around AI 2편]에서 자세히 보기

* 손실 함수(Loss Function): 모델의 예측이 실제 데이터와 얼마나 차이 나는지를 측정하는 지표. 모델 학습을 통해 최소화되어야 할 핵심 값으로, 예측 정확도를 향상시키는 데 중요한 역할을 한다.

머신 러닝 알고리즘의 종류와 특징

머신 러닝 알고리즘은 실세계에 내재한 확률 분포*에서 데이터를 추출하고, 이 데이터를 기반으로 모델을 훈련해 문제를 해결하는 것이 핵심이다. 학습하려는 문제의 유형에 따라 크게 세 가지로 나뉘며, 각각 고유한 특성과 응용 분야를 가지고 있다.

* 확률 분포(Probability Distribution): 데이터를 수학적으로 설명하는 모델로 이를 통해 데이터의 패턴과 구조를 파악한다.

1) 지도 학습(Supervised Learning)

지도 학습은 입력 데이터와 함께 ‘정답(라벨, label)’을 학습하는 방식이다. 모델은 이 데이터-라벨을 쌍으로 학습하여 새로운 데이터에 대한 정답을 예측한다. 예를 들어 사진 속 인물의 성별을 예측하는 인공지능 개발은 지도 학습의 예시로 볼 수 있다. 이때, 사진은 입력 데이터로 성별은 ‘정답’으로 제공된다. 이를 통해 모델은 남성과 여성을 구별하는 패턴을 학습하고, 추후 새로운 사진의 성별을 예측한다. 지도 학습은 라벨의 속성에 따라 다시 두 가지 유형으로 나뉜다.

• 분류(Classification): 라벨이 이산적(Discrete)으로 주어지는 경우다. 예를 들어 사진 속 강아지의 유무를 판단하는 문제, 손으로 쓴 글씨를 보고 알파벳을 구분하는 문제 등이 여기에 해당한다. 이 경우 데이터는 특정 카테고리에 속하며, 소속 카테고리가 라벨로 지정된다.

• 회귀(Regression): 라벨이 연속적인 숫자로 주어지는 경우다. 예를 들어 집의 평수와 위치 등을 바탕으로 집값을 예측하는 문제, 기상 데이터로부터 다음날의 기온을 예측하는 문제 등 정답이 될 숫자를 가능한 정확하게 예측해야 하는 상황에 해당한다.

2) 비지도 학습(Unsupervised Learning)

명칭에서 알 수 있듯이, 비지도 학습은 지도 학습과 달리 명시적인 ‘지도(Supervision)’, 즉 라벨이 없이 데이터만을 학습한다. 이 방법은 데이터가 나타내는 확률 분포의 특성을 파악해 학습하는 것을 목표로 한다. 비지도 학습의 주요 방법은 다음과 같다.

• 군집화(Clustering): 비슷한 특성을 가진 데이터를 그룹으로 묶어 확률 분포에 숨은 패턴을 파악하는 데 목적이 있다. 실제 반도체 공정에서 불량으로 판정된 웨이퍼 사진을 모아 군집화 알고리즘을 적용한 결과, 불량 원인에 따라 몇 가지 유형으로 분류할 수 있었다.

• 차원 축소(Dimensionality Reduction): 고차원 데이터를 저차원으로 축소해 복잡한 데이터에서 중요한 정보만을 남기고 단순화하는 기술이다. 이는 데이터 분석과 시각화에 도움이 된다. 대표적으로 주성분 분석*이 있다.

* 주성분 분석(Principal Component Analysis): 고차원 데이터를 저차원으로 축소하는 통계적 기법. 데이터의 차원을 축소함으로써, 계산 효율성을 높이고, 불필요한 정보(노이즈 등)를 제거하여 데이터의 핵심 특성을 더욱 명확하게 이해할 수 있게 한다.

최근 주목 받는 생성형 AI 기술도 비지도 학습의 범주에 포함할 수 있다. 이는 데이터로부터 확률 분포를 학습하고, 이를 통해 새로운 데이터를 생성하는 것으로 볼 수 있기 때문이다. 예를 들어 챗GPT는 ‘자연어 확률 분포’를 학습하고, 이를 통해 주어진 텍스트의 다음 단어를 예측한다고 볼 수 있다. 그러나 생성형 AI를 훈련하기 위해 지도 학습 기법이 사용되기도 하므로 완전한 비지도 학습으로 볼 수 있는지는 이견의 여지가 있다.

3) 강화 학습(Reinforcement Learning)

모델이 주변 환경과 상호작용을 하며 최대한 많은 ‘보상’을 받도록 학습하는 것이 목표다. 특히 문제가 순차적 의사결정이 필요한 곳에서 효과적이다. 예컨대 로봇이 주어진 환경에서 장애물을 피하며 목적지까지 이동하는 최적의 경로를 찾는 경우와 같이 로보틱스 분야나 자율 주행, 게임 AI 등에 많이 활용된다. 최근에는 챗GPT 등의 대형 언어 모델을 인간의 선호와 일치시키기 위해 인간 피드백을 통한 강화 학습*도 많은 주목을 받고 있다.

* 인간 피드백을 통한 강화 학습(Reinforcement Learning With Human Feedback): 인간의 피드백을 기반으로 보상받으며 학습하는 방법. 모델이 생성한 결과에 대한 인간의 반응이나 평가를 통해 보상을 조정하고, 이를 통해 모델은 인간에게 맞춰진 반응을 할 수 있게 학습한다.

▲ 인공지능의 벽돌 깨기 게임 영상. 대표적인 강화 학습 사례로 인공지능에게 ‘벽돌을 많이 깨면 더 높은 점수를 올릴 수 있다’는 규칙을 주자 인공지능 스스로 벽돌을 더 많이 깰 수 있는 방법을 터득한다.

머신 러닝의 성능 평가

머신 러닝의 궁극적인 목표는 실제 환경에서 처음 보는 데이터에도 우수한 성능을 보이게 하는 것이다. 즉, 모델이 일반화(Generalization) 능력을 갖추는 것이 중요하다. 이를 위해서는 모델의 성능을 정확하게 평가하고 검증하는 것이 필수다. 그렇다면 모델의 성능은 어떻게 평가해야 할까?

1) 성능 지표 선택

머신 러닝의 성능을 평가하는 데는 문제의 유형에 따라 다양한 지표를 사용한다. 분류 문제의 경우 일반적으로 정확도(Accuracy), 정밀도(Precision), 재현율(Recall)을 성능 지표로 활용한다.

먼저, 정확도는 전체 예측 중 올바르게 예측한 비율을 나타낸다. 가령 의료 진단 테스트에서 100번의 테스트 중 95번을 정확하게 진단했다면 정확도는 95%이다. 그러나 이를 위해서는 균형 잡힌 데이터셋이 필요하다. 만약 100개의 샘플 중 95개가 음성이고 5개만 양성이라고 하자. 이 경우 모델이 모든 샘플을 음성으로 예측해도 정확도는 95%가 된다. 이는 높은 정확도처럼 보이지만, 실제로 모델은 양성 샘플을 전혀 예측하지 못했을 수 있다.

정밀도는 ‘모델이 양성으로 예측한 것’ 중 ‘실제로 양성인 것’의 비율을, 재현율은 ‘실제 양성’ 중 ‘모델이 양성으로 예측한’ 비율이다. 이들은 서로 트레이드 오프 관계, 즉 하나를 높이면 다른 하나는 낮아질 수 있어, 둘 사이의 균형과 목적을 고려해 모델을 최적화한다. 이를 테면, 의료 검사에서는 재현율을 높이는 것이, 이메일 스팸 필터에서는 정밀도를 더 중요하게 생각하는 식이다. 이 문제를 해결하기 위해 정밀도와 재현율의 조화를 평가하는 F1 스코어*를 사용하기도 한다.

* F1 스코어(F1-Score): 정밀도와 재현율의 조화평균으로 데이터 분류 클래스의 불균형이 심할 때 사용한다. 0과 1 사이의 값이며 1에 가까울수록 분류 성능이 좋고 할 수 있다.

회귀 문제의 경우는 평균 제곱 오차*, 제곱근 평균 제곱 오차*, 평균 절대 오차* 등을 사용해서 모델의 성능을 평가한다.

* 평균 제곱 오차(MSE): 예측값과 실제값의 차이를 제곱한 후 평균을 낸 값
* 제곱근 평균 제곱 오차(RMSE): MSE의 제곱근으로, 오차의 크기를 실제 값의 단위와 동일하게 표현
* 평균 절대 오차(MAE): 예측값과 실제값 차이의 절댓값을 평균한 값

2) 성능 평가 방법

머신러닝의 이해_02_2024_그래픽

머신 러닝 모델의 평가는 주로 데이터를 훈련 세트와 테스트 세트로 나누어 진행한다. 이 과정을 통해 모델이 새로운 데이터를 얼마나 잘 일반화할 수 있는지 확인할 수 있다.

• 훈련-테스트 분할법(Train-Test Split): 가장 간단한 방법의 하나는 수집된 데이터를 훈련 세트와 테스트 세트로 나누는 방법이다. 훈련 세트로 모델을 훈련한 후, 테스트 세트로 모델의 예측 성능을 평가해 일반화 성능을 가늠한다. 일반적으로 전체 데이터 중 약 70~80%를 훈련 세트에 활용한다.

• 교차 검증(Cross Validation): 교차 검증은 데이터를 K개의 세트로 나눠서, K개 중 한 세트를 제외한 나머지로 모델을 훈련한 뒤, 제외한 세트로 성능을 평가한다. 이 과정을 K번 반복해 평균 성능을 구한다. 교차 검증법은 전통적인 기계 학습에서 많이 사용하던 방법이지만, 시간이 많이 소요되어 심층 학습에서는 훈련-테스트 분할법을 더 선호한다.

3) 성능 평가 및 해석

위 평가 방법을 통해 얻어진 결과는 모델의 성능 향상을 위한 중요한 피드백을 제공하며, 문제가 있을 때는 주로 두 가지 현상이 나타난다.

• 과소적합(Underfitting): 모델이 너무 단순해서 데이터의 기본적인 패턴을 학습하지 못하는 경우로 훈련 및 테스트 세트 모두에서 성능이 미달일 경우 과소적합이 발생했다고 볼 수 있다. 가령 회귀 문제에서 실제 데이터가 2차 함수인데 예측 모델을 1차 함수로 설정했다면, 데이터의 패턴을 포착하기 위한 표현력(Expressivity)이 부족해서 과소적합으로 이어질 수 있다.

• 과대적합(Overfitting): 모델이 너무 복잡해서 기본적인 패턴뿐 아니라 노이즈 등 불필요한 부분까지 학습해 발생한다. 이에 따라 모델은 학습 데이터에 대해서는 높은 성능을 보이지만, 테스트 데이터나 새로운 데이터에서는 성능이 떨어지는 특성을 보인다. 이를 방지하고 모델의 일반화 성능을 더 정확하게 평가하기 위해 앞서 말한 교차 검증을 사용할 수 있다. 이렇게 다양한 데이터 분할에서 모델의 성능을 평가하면, 과대적합 여부를 더 정확하게 판단하고 모델 복잡도를 선택할 수 있다.

한편, 일반화 성능이 좋은 모델을 구축하기 위해서는 정규화* 등의 방법으로 과소/과대 적합 사이의 균형을 찾는 것이 중요하다고 알려져 왔다. 그러나, 최근 심층 학습에서는 과대적합이 일어난 이후에 모델의 크기를 더욱 더 키우면 과대적합이 더 심해지는 게 아니라 오히려 일반화 성능이 개선된다는 이중 하강 현상*이 발견되어 이에 대한 활발한 연구가 진행되고 있다.

* 정규화(Regularization): 모델의 과대적합을 방지하기 위해 모델의 복잡도를 제한하거나 페널티를 부과하는 학습 방법.
* 정이중 하강(Double Descent) 현상: 모델의 크기가 커질수록 성능이 먼저 저하되다가 일정 크기를 넘어서면 다시 개선되는 현상을 말한다. 이는 전통적인 통계학의 과대적합 개념에 도전하는 현상으로, 딥러닝 분야에서 새롭게 관찰되었다. 하지만 이론적으로는 아직 완전히 이해되지 않은 상태다.

]]>
/all-around-ai-3/feed/ 0