Skip to main content
Dreamforce가 9월 17일부터 19일까지 샌프란시스코에서 열립니다. 지금 바로 등록하셔서 DF24TRAIL20 코드를 사용해 20%의 할인 혜택을 받으세요

데이터를 모델로 전환하기

학습 목표

이 유닛을 완료하면 다음을 수행할 수 있습니다.

  • 직접 코딩한 알고리즘과 학습된 모델의 차이점을 설명할 수 있습니다.
  • 머신 러닝과 AI와의 관계를 정의할 수 있습니다.
  • 정형 및 비정형 데이터를 구분하고 데이터가 학습에 어떤 영향을 미치는지 설명할 수 있습니다.

Trailcast

이 모듈의 오디오 레코딩을 들어보려면 아래 플레이어를 사용하세요. 이 레코딩을 모두 들은 후 각 유닛으로 돌아와서 리소스를 확인하고 관련 평가를 완료하는 것을 잊지 마세요.

마법같이 놀라운 능력 이면에 숨겨진 비결

AI가 할 수 있는 일을 보면 마술처럼 느껴질 수 있습니다. 마술처럼, 당연히 이 모든 일들이 어떤 식으로 이루어지는지 커튼 뒤로 살짝 보고 싶을 수 있습니다. 컴퓨터 과학자와 연구자들은 거울같이 그대로 반영하거나 잘못된 방향으로 가는 대신 수많은 데이터, 수학, 처리 능력을 사용하고 있다는 사실을 알 수 있습니다. 실제 AI가 어떤 식으로 작동하는지 학습하면 AI의 한계로 인한 함정을 피하는 동시에 AI의 잠재력을 최대한 활용할 수 있습니다.

제작에서 학습으로의 전환

프로그래머들은 수십 년 동안 입력을 통해 일련의 규칙을 사용하여 처리한 후 출력을 반환하는 코드를 작성해 왔습니다. 예를 들어 숫자 집합에서 평균을 구하는 방법은 다음과 같습니다.

  • 입력: 5, 8, 2, 9 
  • 프로세스: 값 [5 + 8 + 2 + 9]를 더한 후 입력값인 [4]로 나눔
  • 출력:

입력을 출력으로 바꾸는 이 간단한 규칙 집합은 알고리즘의 한 예입니다. 알고리즘은 상당히 정교한 작업을 수행하도록 고안되었습니다. 하지만 일부 작업의 경우 직접 만든 알고리즘에 모든 규칙(및 예외)을 포함하는 것이 불가능할 정도로 많은 규칙이 있습니다. 수영이야말로 일련의 규칙으로 요약하기 어려운 작업의 좋은 예시입니다. 수영장에 들어가기 전에 몇몇 조언을 얻을 수 있지만, 수영장 물에 들어가서 수영을 해봐야 어떠한 방법을 사용해야 실제로 물에 뜰 수 있을지 알아낼 수 있습니다. 어떤 것들은 경험을 통해 배울 때 가장 효과적입니다.

컴퓨터도 같은 방식으로 학습시킬 수 있다면 어떨까요? 수영장에 던져 넣는 것이 아니라, 어떤 작업을 성공적으로 수행하는 데 어떤 것이 효과적인지 직접 알아내게 하는 방식으로 말이죠. 하지만 수영을 배우는 것과 외국어를 배우는 것이 매우 다르듯이 학습의 종류는 작업에 따라 달라집니다. AI를 학습시키는 몇 가지 방법을 확인해 보세요.

필요한 경험

우유를 사러 마트에 갈 때마다 스프레드시트에 우유를 사러 가는 여정의 단계의 세부 사항을 기록했다고 상상해 보세요. 살짝 이상하지만 한번 해 보세요. 다음 열을 설정합니다.

  • 주말인가요?
  • 하루 중 시간
  • 비가 오나요, 오지 않나요?
  • 매장까지의 거리
  • 총 소요 시간

몇 번 이동하다보면 조건이 소요 시간에 어떤 영향을 미치는지 감이 잡히기 시작합니다. 예를 들어 비가 올 때 이동 시간은 길어지지만 쇼핑하는 사람 수가 줄어든다는 뜻이기도 합니다. 여러분의 두뇌는 입력(주말[W], 시간[T], 비[R], 거리[D])과 출력(분[M]) 사이를 연결합니다.

입력값 [W, T, R, D]의 다이어그램

그렇다면 컴퓨터가 데이터 추세를 파악하고 예측할 수 있으려면 어떻게 해야 할까요? 한 가지 방법은 추측 및 확인 방법입니다. 방법은 다음과 같습니다.

1단계: 모든 입력에 '가중치'를 할당합니다. 가중치는 입력이 출력에 얼마나 큰 영향을 미치는지를 나타내는 숫자입니다. 모든 입력에 동일한 가중치로 시작해도 괜찮습니다.

2단계: 기존 데이터와 함께 가중치를 사용하여(다뤄보지 않을 몇몇 어려운 수학 사용) 우유 장보기 시간을 추정합니다. 이 추정치를 과거 데이터와 비교할 수 있습니다. 어느 정도 차이는 있을 수 있겠지만 괜찮습니다.

3단계: 컴퓨터가 각 입력에 대해 새 가중치를 추측하도록 하여 일부 입력은 다른 입력보다 조금 더 중요하게 만듭니다. 예를 들어, 비가 올 가능성보다 하루 중 시간이 더 중요할 수 있습니다.

4단계: 계산을 다시 실행하여 새 가중치가 더 나은 추정치를 가져오는지 확인합니다. 추정치에 긍정적인 변화가 있었다면 가중치가 더 잘 맞고 적절한 방향으로 변경되었다는 의미입니다.

5단계: 3단계와 4단계를 반복하여 더 나은 추정치를 더 이상 얻을 수 없을 때까지 컴퓨터가 가중치를 조정하도록 합니다.

이때 컴퓨터는 각 입력에 대한 가중치를 결정합니다. 가중치의 경우 입력이 출력에 얼마나 강력한 연결성을 가지는지를 고려하여 다른 선 굵기를 사용해 연결의 가중치를 나타내는 다이어그램을 만들 수 있습니다.

출력에 연결된 입력 노드 다이어그램.

이 예에서는 하루 중 시간이 가장 강력한 연결성을 가지고 있는 것처럼 보이며, 반면 비는 큰 차이를 만들지 않는 것으로 보입니다.

이러한 추측 및 확인 과정을 통해 우유 장보기 모델을 만들었습니다. 그리고 모형 보트와 같이 수영장에서 이 모델이 물에 뜨는지 확인할 수 있습니다. 즉, 실제 환경에서 테스트해 보는 것입니다. 따라서 이후에 우유를 몇 차례 더 사러 갈 경우, 출발하기 전에 모델을 통해 소요되는 시간을 예측해 보세요. 연속된 테스트를 통해 충분히 정확환 값을 얻었다면 이후 모든 우유를 위한 여정에 대해 자신 있게 예측을 맡길 수 있습니다.

로봇이 작업대에서 작은 모형 범선의 조각을 조립하고 있습니다. 그림은 2D 벡터 아트 스타일로 그려져 있습니다.

['로봇이 작업대에서 작은 모형 범선의 조각을 조립하고 있습니다.'라는 프롬프트와 함께 stability.ai에서 DreamStudio를 사용하여 AI가 생성한 이미지. 그림은 2D 벡터 아트 스타일로 그려져 있습니다.']

적합한 데이터를 적합한 작업에 사용하기

여기서는 학습을 통해 AI 모델을 만드는 매우 간단한 예시를 다루게 되는데, 몇 가지 중요한 아이디어가 포함되어 있습니다. 첫째, 알고리즘을 직접 만드는 대신 대량의 데이터를 사용하여 예측을 수행하는 모델을 훈련시키는 과정인 머신 러닝(ML)의 예시입니다.

둘째, 모든 데이터가 동일하지는 않습니다. 우유 장보기 예제에서 스프레드시트는 정형 데이터라고 할 수 있습니다. 모든 열에 라벨이 지정되어 있어 모든 셀의 중요성을 알 수 있는 잘 정리된 데이터입니다. 이와 대조적으로 비정형 데이터는 뉴스 기사나 라벨이 없는 이미지 파일과 같은 것입니다. 사용 가능한 데이터의 종류는 어떤 종류의 학습을 수행할 수 있는지에 영향을 미칩니다.

셋째, 스프레드시트의 정형 데이터를 통해 컴퓨터는 지도형 학습을 수행할 수 있습니다. 모든 입력 데이터에 일치하는 예상 출력이 있는지 확인할 수 있으므로 지도형 학습으로 간주됩니다. 이와 반대로, 비정형 데이터는 비지도형 학습에 사용되며, 이는 AI가 찾고 있는 내용을 알지 못한 채 데이터에서 연결 고리를 찾으려고 시도하는 경우입니다.

컴퓨터가 각 입력에 대해 하나의 가중치를 알아내도록 하는 것은 일련의 학습 중 한 종류일 뿐입니다. 하지만 상호 연결된 시스템은 1대 1 가중치로 표현할 수 있는 것보다 더 복잡한 경우가 많습니다. 다행히도, 다음 유닛에서는 컴퓨터가 학습할 수 있는 다른 방법도 살펴보게 됩니다!