인공 지능 모델 | [16] 알고리즘과 모델 구분하기 – 어떻게 다른걸까? 69 개의 정답

당신은 주제를 찾고 있습니까 “인공 지능 모델 – [16] 알고리즘과 모델 구분하기 – 어떻게 다른걸까?“? 다음 카테고리의 웹사이트 ppa.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.maxfit.vn/blog/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 친절한 AI 이(가) 작성한 기사에는 조회수 6,900회 및 좋아요 234개 개의 좋아요가 있습니다.

인공 지능 모델 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 [16] 알고리즘과 모델 구분하기 – 어떻게 다른걸까? – 인공 지능 모델 주제에 대한 세부정보를 참조하세요

안녕하세요, 친절한 AI 미정입니다 🙂
이번시간에는 알고리즘과 모델, 두가지 용어를 구분하는 시간을 갖도록 하겠습니다.
어려운 용어 같지만 사실 전혀 어렵지 않아요 🤗

인공 지능 모델 주제에 대한 자세한 내용은 여기를 참조하세요.

인공지능 모델

AI 알고리즘. 인공지능은 명시적으로 규칙을 프로그래밍하지 않고 데이터로부터 의사 결정을 위한 패턴을 기계가 학습하는 머신러닝과 인공신경망 기반의 모델로, 비정형 …

+ 여기에 표시

Source: aicerti.com

Date Published: 8/26/2022

View: 7867

머신러닝 모델을 설명할 수 있어야 하는 이유

Explainable AI(XAI)가 AI 도입의 확산에 필수적인 이유, 일반적인 XAI 메서드, Google Cloud가 어떻게 도움이 되는지를 설명합니다.

+ 여기에 보기

Source: cloud.google.com

Date Published: 4/25/2021

View: 7245

머신 러닝의 모델 평가와 모델 선택, 알고리즘 선택 – 1장. 기초

이 시리즈 글의 전체 번역은 Model evaluation, selection and algorithm … 머신러닝과 인공지능에 대한 입문서로, 파이썬과 사이킷런을 중심으로 머신러닝 …

+ 자세한 내용은 여기를 클릭하십시오

Source: tensorflow.blog

Date Published: 11/27/2022

View: 732

머신 러닝 모델이란? – NVIDIA 블로그

이 시대 최고의 혁신적 테크놀로지인 AI를 향한 여정의 경우 우리가 먼저 고민해야 할 것은 엔진, 즉 머신 러닝(ML) 모델입니다.

+ 여기에 자세히 보기

Source: blogs.nvidia.co.kr

Date Published: 1/9/2021

View: 3711

2. 머신러닝 필수용어 5가지 (모델, 학습, 훈련, 입력, 타깃)

모델 모델(model)은 프로그램을 의미한다. … 그것은 다시 말해 강수여부를 예측하는 인공지능 모델을 만든다는 의미이다. 인공지능 프로그램 = 인공 …

+ 여기에 보기

Source: hyjykelly.tistory.com

Date Published: 5/11/2022

View: 4252

기계 학습 모델이란 무엇인가요? – Microsoft Docs

기계 학습 모델은 특정 유형의 패턴을 인식하도록 학습된 파일입니다. 데이터 세트에 대해 모델을 학습하여 해당 데이터로 추론하고 학습하는 데 …

+ 여기를 클릭

Source: docs.microsoft.com

Date Published: 9/2/2021

View: 3524

인공지능 블록 > 모델 학습이란? – Entry Docs

AI 활용 블록을 사용해 봤다면, 이제 직접 인공지능 모델을 한 번 만들어볼까요? 엔트리에서는 이미지/음성/텍스트를 각각의 클래스로 분류할 수 있는 모델, …

+ 여기에 표시

Source: docs.playentry.org

Date Published: 7/4/2022

View: 5224

모두의 인공지능 with 파이썬: 7 모델 정확도 살펴보기

지금부터 인공지능 모델이 얼마나 잘 학습하였는지 시험해 보겠습니다. 시험 내용은 ‘검증 데이터를 얼마나 잘 맞히는가’입니다. score = model.evaluate(X_test, Y_test) …

+ 여기를 클릭

Source: thebook.io

Date Published: 2/26/2021

View: 1599

5. 모델 학습 / 평가 – DATA ON-AIR – 데이터온에어

모델링이란 분석용 데이터를 이용한 가설 설정을 통하여 통계모형을 만들거나 기계학습(Machine Learning)을 이용한 데이터의 분류, 예측, 군집 등의 기능을 수행하는 …

+ 여기에 보기

Source: dataonair.or.kr

Date Published: 2/20/2022

View: 7781

주제와 관련된 이미지 인공 지능 모델

주제와 관련된 더 많은 사진을 참조하십시오 [16] 알고리즘과 모델 구분하기 – 어떻게 다른걸까?. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

[16] 알고리즘과 모델 구분하기 - 어떻게 다른걸까?
[16] 알고리즘과 모델 구분하기 – 어떻게 다른걸까?

주제에 대한 기사 평가 인공 지능 모델

  • Author: 친절한 AI
  • Views: 조회수 6,900회
  • Likes: 좋아요 234개
  • Date Published: 2020. 4. 5.
  • Video Url link: https://www.youtube.com/watch?v=y8NwhdEGY4A

인공지능 모델

인공지능 모델은 학습된 데이터와 학습 알고리즘으로 구성이 됩니다.

단일 모델에 대한 평가는 데이터 셋을 학습용 데이터, 테스트 데이터, 검증 데이터 형태로 구분하여 학습 알고리즘을 수행하고 AI 모델의 성능을 평가하게 됩니다.

학습된 모델은 학습용 알고리즘에 따라 다양한 형태로 구분되어질 수 있습니다.

수치형태의 신경망 노드의 가중치 값으로 표현되거나, 통계 수치값으로 표현이되거나, 규칙형태 등으로 표현이 될 수 있습니다.

또한, 특징에 대한 패턴을 저장한 값이 아닌 학습 알고리즘만으로 이루어진 모델도 존재할 수 있습니다.

최근 주로 이용되는 딥러닝 알고리즘들의 경우, 인공지능 학습 모델은 네트워크의 구조와 학습된 가중치 값이 됩니다.

머신러닝 모델을 설명할 수 있어야 하는 이유

* 본 아티클의 원문은 2021년 6월 12일 Google Cloud 블로그(영문)에 게재되었습니다.

오늘날 많은 회사가 AI를 적극적으로 사용하고 있거나 미래 전략에 포함시키는 계획을 세우고 있습니다. 현재 76%의 기업이 IT 예산에서 AI와 ML을 다른 이니셔티브보다 우선순위에 두고 있으며 전 세계 AI 산업의 규모는 2027년까지 $2,600억 이상으로 성장할 전망입니다. 그런데 AI와 고급 분석이 널리 사용될수록 AI 기술의 작동 방식에 대한 투명성을 향상할 필요성이 커질 것입니다.

이 게시물에서는 Explainable AI(XAI)가 AI 도입의 확산에 필수적인 이유, 일반적인 XAI 메서드, Google Cloud에서 제공하는 지원에 대해 살펴보겠습니다.

ML 모델을 설명할 수 있어야 하는 이유

AI 기술에는 이른바 ‘블랙박스’라고 하는 문제가 있습니다. 즉, 사용자가 질문 또는 데이터(입력)는 알 수 있더라도 AI가 최종 답(출력)을 내놓는 단계나 프로세스는 확인할 수 없습니다. 이러한 특성은 패턴 인식을 통해 ‘학습’하는 노드의 히든 레이어가 다수 포함되는 딥 러닝 및 인공 신경망 접근방식에서 특히 문제가 됩니다.

이해관계자는 ML이 무엇을 하는지 이해할 수 없기 때문에 ML 프로젝트를 신뢰하지 않으려는 경우가 많습니다. 특히 머신러닝에 중요한 의사 결정이 달려있는 경우 의사 결정권자들이 이해하기 힘든 머신러닝 모델을 제어하려는 시도를 포기하기란 어려운 일입니다. AI 시스템은 막대한 영향을 미치는 예측을 수행하고 있으며 의료나 자율주행차 등의 산업에서는 생사를 가르는 영향을 미칩니다.

특히 의사 결정이 어떻게 내려졌는지에 대한 설명이 없는 경우에는 모델이 사람보다 더 나은 결정을 내리도록 만드는 것은 차치하고 모델이 내리는 결정을 신뢰할 수 있다는 데 지지를 얻기도 어려울 때가 많습니다. AI 모델이 어떻게 예측하거나 결정을 내렸나요? 알고리즘에 편향이 반영되지 않았다고 어떻게 확신할 수 있나요? 모델의 결정을 신뢰할 수 있을 만큼 투명성과 해석 가능성이 충분한 수준인가요?

의사 결정권자는 AI를 토대로 내린 결정이 옳다고 확신할 수 있도록 AI가 내린 의사 결정의 근거를 알고 싶어 합니다. 실제로 PwC 설문조사에 따르면 대다수의 CEO(82%)가 설명 가능해야만 AI 기반 결정을 신뢰할 수 있다고 생각합니다.

Explainable AI란 무엇인가요?

Explainable AI(XAI)는 머신러닝 모델의 의사 결정 방식을 파악할 수 있도록 지원하는 도구 모음이자 프레임워크입니다. 하지만 AI 모델을 단계별로 완전히 분해하여 보여주는 것으로 혼동해서는 안 됩니다. 딥 러닝 알고리즘에 사용되는 수백만 개의 매개변수를 추적하려는 시도는 불가능에 가깝습니다. XAI는 인간 전문가가 의사 결정의 로직을 이해할 수 있도록 모델의 작동 방식에 대한 유용한 정보를 제공하는 것을 목표로 합니다.

XAI를 성공적으로 도입할 때 얻을 수 있는 세 가지 중요한 이점은 다음과 같습니다.

1. ML 모델의 신뢰 향상

의사 결정권자와 기타 이해관계자가 ML 모델이 최종 출력을 도출한 방법을 자세하게 파악할수록 AI 기반 시스템을 신뢰할 가능성이 큽니다. Explainable AI 도구를 사용하면 모델이 어떠한 추론을 거쳐 출력을 내놓았는지에 대한 명확하고 이해 가능한 설명을 제공할 수 있습니다. 딥 러닝 모델로 엑스레이 같은 의료 영상을 분석한다고 가정해 보겠습니다. 이 경우 Explainable AI를 사용하면 진단에 사용된 픽셀을 강조표시하는 특징 맵(예: 히트맵)을 만들 수 있습니다. 예를 들어 골절을 분류하는 ML 모델은 환자가 골절상을 입었다고 진단하는 데 사용된 픽셀을 강조표시합니다.

2. 전반적인 문제 해결 개선

AI의 설명 기능으로 모델을 디버깅하고 모델이 얼마나 잘 작동하는지에 대한 문제 해결도 할 수 있습니다. 모델이 이미지에서 동물을 식별할 수 있어야 하는 경우를 가정해 보겠습니다. 시간이 지남에 따라 모델이 눈밭에서 놀고 있는 개의 이미지를 계속 여우로 분류하는 것을 발견합니다. Explainable AI 도구를 사용하면 이러한 오류가 계속 발생하는 이유를 손쉽게 파악할 수 있습니다. 예측이 수행되는 방식을 확인하기 위해 사용 중인 Explainable AI 모델을 살펴보면 ML 모델이 개와 여우를 구별하기 위해 이미지의 배경을 사용한다는 것을 알 수 있습니다. 이 모델은 배경이 집일 때는 개가, 배경이 눈밭일 때는 여우가 이미지에 포함되어 있다고 잘못 학습한 것입니다.

3. 편향 및 기타 잠재적인 AI 오류 제거

XAI는 편향의 원인을 확인하는 데에도 유용합니다. 예를 들어 자동차가 불법 좌회전을 하는지 식별하는 모델이 있습니다. 영상에서 위반의 근거를 정의하라는 메시지가 표시되면 모델이 학습 데이터에서 편향된 요소를 선택했음을 알 수 있습니다. 불법으로 좌회전하는 차에 초점을 두는 대신 도로 보수가 필요한 곳이 있는지 살펴보고 있는 것입니다. 제대로 관리되지 않은 도로에서 촬영한 영상이 대거 포함된 왜곡된 데이터 세트가 이러한 현상의 원인일 수 있습니다. 혹은 도시의 예산 부족 지역에서 위반 단속을 실시할 가능성이 더 높을 수 있다는 실제 편향이 영향을 주기도 합니다.

설명 기능은 ML의 수명 주기 중 어느 단계에서 사용해야 하나요?

Explainable AI를 ML 워크플로의 마지막 단계에서 부차적으로 추가해서는 안 됩니다. 설명 기능은 데이터 수집과 처리부터 모델 학습, 평가, 모델 제공에 이르는 모든 단계에 통합 및 적용되어야 합니다.

ML 수명 주기에 설명 기능을 적용하는 방법에는 몇 가지가 있습니다. Explainable AI를 사용해 데이터 세트 불균형을 식별하거나, 모델 동작이 특정 규칙과 공정성 측정항목을 충족하는지 확인하거나, 모델 동작을 로컬 및 글로벌 관점에서 보여주는 방식으로 적용할 수 있습니다. 예를 들어 모델이 합성 데이터를 사용해 학습된 경우 실제 데이터를 사용할 때에도 동일하게 동작하는지 확인해야 합니다. 또는 앞서 살펴본 의료 영상 딥 러닝 예시와 같이 일반적으로 설명 기능은 히트맵을 만들어 영상 분류에 사용된 픽셀을 식별하는 형태로 활용됩니다.

사용할 수 있는 또 다른 도구로는 머신러닝 모델 성능의 슬라이스 평가가 있습니다. Google Cloud의 AI 원칙에 따르면 불공정한 편향을 만들거나 강화해서는 안 됩니다. AI 알고리즘과 데이터 세트는 많은 경우 불공정한 편향을 반영하거나 강화할 수 있습니다. 모델이 소수의 사례에서 제대로 작동하지 않는 것을 발견하면 공정성 문제를 해결해야 합니다.

슬라이스 평가를 사용하면 데이터 세트의 다양한 부분이 결과에 어떤 영향을 미칠 수 있는지 살펴볼 수 있습니다. 이미징 모델의 경우 조명 부족이나 노출 과다와 같은 요소에 따라 다양한 이미지를 살펴볼 수 있습니다.

또한 잠재적인 제한사항과 성능 확보를 위한 절충사항을 설명해주는 모델 카드를 만든 다음 모델의 수행 동작을 테스트하는 방법을 제공하는 것이 좋습니다.

Explainable AI 메서드

Explainable AI 메서드에 대해 이야기하려면 먼저 글로벌 및 로컬 메서드의 차이를 알아야 합니다.

글로벌 메서드는 모델이 어떻게 결정을 내리는지에 대한 전체 구조를 이해하는 방식입니다.

로컬 메서드는 모델이 단일 인스턴스에 대한 결정을 어떻게 내렸는지를 이해하는 방식입니다.

예를 들어 글로벌 메서드에서는 사용된 모든 기능이 포함된 표를 살펴보고 의사 결정에 미치는 전반적인 중요성이 큰 순서로 정렬됩니다. 특성 중요도 표는 특정 입력 변수가 모델의 최종 출력에 미치는 영향을 파악하는 데 도움이 되도록 보통 구조화된 데이터 모델을 설명하는 데 사용됩니다.

그렇다면 모델이 개별 예측을 하거나 특정한 사용자를 위해 결정을 내리는 방식은 어떻게 설명할 수 있을까요? 이것이 바로 로컬 메서드가 적용되는 분야입니다.

이 게시물의 목적에 맞게 이미지 데이터 모델 예측을 설명하기 위해 사용되는 방법을 중심으로 로컬 메서드를 살펴보겠습니다.

다음은 가장 일반적인 Explainable AI 로컬 메서드입니다.

LIME(Local interpretable model-agnostic explanation)

KernalSHAP(Kernel Shapley additive explanations)

IG(Integrated gradients)

XRAI(Explainable explanations through AI)

LIME 및 KernalShap는 이미지를 예측에서 무작위로 샘플링되는 패치로 분할하여 여러 교란된(변경된) 이미지를 생성합니다. 이미지가 원본처럼 보이겠지만 이미지의 일부가 삭제된 상태입니다. 변경된 이미지는 학습된 모델에 제공되고 예측을 하도록 요청됩니다.

아래 예시에서 모델은 이미지가 개구리인지, 개구리가 아닌지 질문을 받게 됩니다.

머신 러닝의 모델 평가와 모델 선택, 알고리즘 선택 – 1장. 기초

이 글은 파이썬 머신 러닝의 저자 세바스찬 라쉬카(Setabstian Raschka)가 쓴 ‘Model evaluation, model selection, and algorithm selection in machine learning Part I – The basics‘를 원저자의 동의하에 번역한 것입니다. 이 시리즈 글의 전체 번역은 Model evaluation, selection and algorithm selection에 있습니다.

소개

머신 러닝machine learning은 소비자나 고객으로서 또 연구자나 기술자 입장에서도 우리 생활의 중심이 되었습니다. 예측 모델을 연구나 비즈니스에 적용할 때 공통으로 원하는 한가지는 바로 “좋은” 예측입니다. 훈련 데이터에 모델을 학습시키는 것도 중요하지만 이 모델이 이전에 본 적이 없는 데이터에도 잘 일반화 될지 어떻게 알 수 있을까요? 입력한 훈련 데이터를 단순히 기억하는 것이 아니라 미래의 데이터, 즉 한 번도 본 적이 없는 데이터에 대해 좋은 예측을 만들 것이라고 어떻게 알 수 있을까요? 어떻게 한번에 좋은 모델을 선택할 수 있을까요? 혹시 문제에 더 잘 맞는 다른 머신 러닝 알고리즘이 있는 건 아닐까요?

모델 평가가 머신 러닝 파이프라인pipeline의 종착지는 아닙니다. 어떤 데이터를 다루던지 사전에 계획을 세우고 목적에 맞는 방법을 사용해야 합니다. 이 글에서는 이런 방법들 중 하나를 선택해서, 좀 더 큰 그림의 전형적인 머신 러닝 워크플로우workflow에 적용하는 방법을 살펴 보겠습니다.

성능 추정: 일반화 성능 vs 모델 선택

간단한 절의 응답으로 시작해 보겠습니다.

Q: “어떻게 머신 러닝 모델의 성능을 추정하나요?”

A: “첫째 모델을 학습시키기 위해 알고리즘에 훈련 데이터를 주입합니다. 둘째 테스트 세트의 레이블을 예측합니다. 셋째 테스트 세트에서 잘못 예측한 수를 카운트해서 모델의 예측 정확도를 계산합니다.”

그리 간단하지 않군요. 목적에 따라서 모델의 성능을 추정하는 일은 그리 쉽지 않습니다. 앞의 질문을 다른 각도로 봐야할지 모릅니다. “왜 성능 추정이 중요한가요?” 이상적으로는 추정된 모델의 성능이 새로운 데이터에 모델이 얼마나 잘 작동하는지를 말해 줍니다. 미래의 데이터에 대해 예측하는 것이 종종 새로운 알고리즘의 개발이나 머신 러닝 애플리케이션에서 우리가 풀려고 하는 주된 문제입니다. 전형적으로 머신 러닝은 많은 실험을 해야 합니다. 예를 들면 알고리즘 내부 설정인 하이퍼파라미터hyperparameter를 튜닝하는 일입니다. 훈련 데이터셋에 대해 다른 하이퍼파라미터 설정으로 알고리즘을 학습시키면 다른 모델이 만들어집니다. 이 중에서 가장 잘 작동하는 모델을 선택하고 싶기 때문에 각각의 성능을 추정하여 순위를 매기기는 방법이 필요합니다. 알고리즘을 세세하게 튜닝하는 것에서 더 나아가 주어진 환경에서 최선의 솔루션을 찾기 위해 하나의 알고리즘만 테스트하지 않습니다. 예측 성능과 연산 성능 측면에서 종종 다른 알고리즘들을 서로 비교할 때가 많습니다.

왜 우리가 모델의 예측 성능을 평가해야 하는지 요약해 보겠습니다.

모델이 미래의 (처음 본) 데이터에 대한 예측 성능인 일반화 정확도generalization accuracy를 추정하고 싶습니다. 학습 알고리즘을 튜닝하고 주어진 가설 공간hypothesis space안에서 가장 성능 좋은 모델을 골라 예측 성능을 높이고 싶습니다. 문제 해결에 가장 적합한 머신 러닝 알고리즘을 찾길 원합니다. 즉 알고리즘의 가설 공간에서 최대 성능의 모델을 찾는 것은 물론 최대 성능을 내는 알고리즘을 선택하기 위해 여러 알고리즘들을 비교하고 싶습니다.

위에 나열한 세 개의 작업은 모두 공통으로 모델의 성능을 추정해야 하지만 각기 다른 접근 방법이 필요합니다. 이 글에서 이 세 가지 작업을 위한 각기 다른 방법에 대해 다루어 보겠습니다.

당연하게 모델의 미래 성능을 가능한 정확하게 예측하고 싶습니다. 그러나 이 글에서 딱 하나를 얻어 갈 것이 있다면, 모델과 알고리즘 선택에서 편향bias이 모든 모델에 동일하게 영향을 미친다면 편향된 성능 추정이 아무런 문제가 안된다는 사실입니다. 우리가 가장 높은 성능의 모델을 선택하기 위해 여러가지 모델과 알고리즘의 랭킹을 매길때 필요한 것은 상대적인 성능입니다. 예를 들어 우리의 성능 평가가 매우 편향되어 있어서 10%정도 과소 평가되더라도 순위에는 영향을 미치지 않습니다. 정확히 말해서 세 개 모델의 예측 성능 평가가

M2: 75% > M1: 70% > M3: 65%

이라면 10% 비관적인 편향을 더하더라도 순위는 같습니다.

M2: 65% > M1: 60% > M3: 55%

하지만 가장 좋은 모델(M2)의 예측 정확도가 65%라고 보고한다면 이는 매우 잘못된 것입니다. 모델의 절대적인 성능을 추정하는 것은 아마도 머신 러닝 분야에서 가장 어려운 과제 중 하나일 것입니다.

가정과 용어

모델 평가는 진짜 복잡한 주제입니다. 핵심에서 너무 벗어나지 않기 위해 필요한 가정과 이 글에서 사용할 기술 용어를 살펴 보겠습니다.

i.i.d

우리는 샘플이 i.i.d(독립적이고 동일한 확률분포independent and identically distributed)라고 가정합니다. 즉 모든 샘플은 동일한 확률 분포로 선택되어지고 통계적으로 서로 독립적입니다. 샘플이 독립적이지 않는 경우는 일시적인 데이터나 시계열 데이터를 다룰 때 입니다.

지도 학습과 분류

이 글은 머신 러닝의 하위 분야로서 데이터셋에 타깃 값이 들어 있는 지도 학습supervised learning에 촛점을 맞출 것입니다. 여러가지 개념이 회귀regression에도 적용될 수 있지만, 범주형의 타깃 레이블을 샘플에 할당하는 분류classification 문제에 집중하겠습니다.

0-1 손실과 예측 정확도

다음으로 예측 정확도에 대해 알아 보겠습니다. 예측 정확도는 예측이 맞는 샘플 수를 전체 샘플 수 n 으로 나눈 것입니다. 또는 수식으로는 예측 정확도 ACC를 다음과 같이 정의합니다

예측 오차 ERR 은 데이터셋 S 에서 샘플 n 에 대해 0-1 손실의 기대값입니다:

0-1 손실 L(·) 은 아래와 같이 정의 됩니다

여기서 는 i 번째 샘플의 정답 클래스 레이블이며 는 i 번째 샘플에 대해 예측한 클래스 레이블입니다.

우리의 목적은 일반화 성능이 좋은 모델 h 를 학습시키는 것입니다. 그 모델은 예측 성능을 극대화하거나 반대로 잘못된 예측 가능성 C(h) 를 최소화합니다.

D 는 데이터를 구성하는 분포를 나타내고 x 는 샘플의 특성 벡터, y 는 클래스 레이블입니다.

마지막으로 우리는 대부분 이 글에서 (에러 대신) 예측 정확도를 언급하기 때문에 디렉 델타 함수Dirac Delta function를 사용하겠습니다.1

그러므로

이고

입니다.

편향

이 글에서 편향bias이란 용어를 사용할 땐 (머신 러닝 시스템에서의 편향이 아니라) 통계적인 편향을 의미합니다. 일반적인 용어로 추정량estimator 의 편향은 기대값 과 추정되어야할 진짜 사이의 차이입니다.

그래서 만약 이면 는 의 편향되지 않은 추정량입니다. 좀 더 명확하게 말하면 모델의 예측 정확도 기대값과 진짜 예측 정확도 값 사이의 차이인 예측 편향을 계산합니다. 예를 들어 훈련 세트를 사용하여 예측 정확도를 계산하면 진짜 정확도보다 과대 추정되기 때문에 모델의 정확도 값을 낙관적으로 편향된 추정을 하게 됩니다.

분산

분산variance은 추정량 와 기대값 2 의 단순한 통계적 분산입니다.

분산은 우리가 훈련 세트를 조금씩 변화시키면서 학습 과정을 반복할 때 모델의 예측의 변화량을 측정한 것입니다. 모델 구축 프로세스가 데이터의 변화에 민감할수록 분산은 더 커집니다.

마지막으로 모델, 가설, 분류기, 학습 알고리즘, 파라미터 용어를 정리하겠습니다:

목적 함수 target function : 예측 모델링에서는 전형적으로 특정 프로세스를 모델링하게 됩니다. 즉 어떤 알려지지 않은 함수를 학습 또는 근사하는 것입니다. 목적 함수 f(x) = y 는 우리가 모델링 하려고 하는 진짜 함수 f(·) 입니다.

: 예측 모델링에서는 전형적으로 특정 프로세스를 모델링하게 됩니다. 즉 어떤 알려지지 않은 함수를 학습 또는 근사하는 것입니다. 목적 함수 f(x) = y 는 우리가 모델링 하려고 하는 진짜 함수 f(·) 입니다. 가설 hypothesis : 가설은 우리가 모델링하려는 타깃 함수, 즉 진짜 함수와 비슷할거라 믿는 (혹은 희망하는) 어떤 함수입니다. 스팸 분류에서라면 스팸 이메일을 구분하는 분류 규칙이 됩니다.

: 가설은 우리가 모델링하려는 타깃 함수, 즉 진짜 함수와 비슷할거라 믿는 (혹은 희망하는) 어떤 함수입니다. 스팸 분류에서라면 스팸 이메일을 구분하는 분류 규칙이 됩니다. 모델: 머신 러닝 분야에서는 가설과 모델이 종종 혼용되어 사용됩니다. 다른 과학 분야에서는 이 둘이 다른 의미를 가지기도 합니다. 가설은 과학자에 의해 성립된 추측이고 모델은 이 가설을 테스트하기 위한 추측의 구현체입니다.

학습 알고리즘: 우리의 목표는 목적 함수를 찾거나 근사하는 것이고, 학습 알고리즘은 훈련 데이터셋을 사용해 목적 함수를 모델링하려는 일련의 명령 집합입니다. 학습 알고리즘은 가설 공간을 동반하며 미지의 목적 함수를 모델링하기 위해 가능한 가설들을 탐색하여 최종 가설을 만듭니다.

분류기 classifier : 분류기는 가설의 (요즘엔 종종 머신 러닝 알고리즘으로 학습된) 특별한 경우입니다. 하나의 개개의 데이터 포인트에 (범주형) 클래스 레이블을 지정하는 가설 또는 이산값 discrete value 을 출력하는 함수입니다. 이메일 분류의 경우 스팸 또는 스팸이 아닌 것으로 이메일을 분류하기 위한 하나의 가설이 분류기가 될 수 있습니다. 그러나 가설이 분류기와 동의로 사용되어서는 안됩니다. 다른 애플리케이션의 경우엔 가설이 학생의 학습시간과 교육 이력을 (연속형이므로 회귀에 적합한) 앞으로 받을 SAT 점수와 매핑하는 하나의 함수일 수 있습니다.

: 분류기는 가설의 (요즘엔 종종 머신 러닝 알고리즘으로 학습된) 특별한 경우입니다. 하나의 개개의 데이터 포인트에 (범주형) 클래스 레이블을 지정하는 가설 또는 이산값 을 출력하는 함수입니다. 이메일 분류의 경우 스팸 또는 스팸이 아닌 것으로 이메일을 분류하기 위한 하나의 가설이 분류기가 될 수 있습니다. 그러나 가설이 분류기와 동의로 사용되어서는 안됩니다. 다른 애플리케이션의 경우엔 가설이 학생의 학습시간과 교육 이력을 (연속형이므로 회귀에 적합한) 앞으로 받을 SAT 점수와 매핑하는 하나의 함수일 수 있습니다. 하이퍼파라미터: 하이퍼파라미터는 머신 러닝 알고리즘의 튜닝 파라미터입니다. 예를 들면, 회귀 분석의 평균 제곱 오차mean squared error 비용 함수cost function에서 L2 페널티penalty의 규제regularization 강도나 결정 트리의 최대 깊이 설정 값입니다. 반대로 모델 파라미터는 학습 알고리즘이 훈련 데이터에서 학습하는 파라미터입니다. 즉 모델 자체가 가지고 있는 파라미터입니다. 예를 들어 선형 회귀의 가중치 계수coefficient(또는 기울기)와 편향3(또는 y 축의 절편)이 모델 파라미터입니다.

재치환 검증과 홀드아웃 방법

홀드아웃holdout 방법은 아주 단순한 모델 평가 방법입니다. 레이블된 데이터셋을 훈련 세트와 테스트 세트 두 부분으로 나눕니다. 그런 다음 훈련 데이터에서 모델을 학습시키고 테스트 세트의 레이블을 예측합니다. 정확한 예측의 비율이 예측 정확도에 대한 추정치가 됩니다. 물론 예측하는 동안 테스트 레이블은 감추어져 있습니다. 우리는 같은 훈련 데이터셋으로 모델을 훈련하고 평가하고 싶지 않습니다(이를 재치환 평가resubstitution evaluation라고 부릅니다). 왜냐하면 과대적합overfitting으로 인해 편향이 매우 감소하기 때문입니다. 다른 말로하면 모델이 단순히 훈련 데이터를 모두 외워버린게 아닌지 또는 새로 처음 본 데이터에 잘 일반화 되었는지를 말할 수 없습니다.(다시말해 훈련 정확도와 테스트 정확도의 차이인 편향을 낙관적으로 추정하게 됩니다)

전형적으로 데이터셋을 훈련 세트와 테스트 세트로 나누는 것은 간단한 랜덤 서브샘플링random subsampling입니다. 모든 데이터는 동일한 확률 분포(각 클래스에 대해)로 부터 추출된다고 가정합니다. 이 샘플의 2/3 정도를 훈련 세트로 하고 1/3을 테스트 세트로 합니다. 그런데 여기에 두 가지 문제가 있습니다.

계층 샘플링

우리가 가진 데이터셋은 어떤 확률 분포에서 추출한 랜덤 샘플이라는 것을 기억하세요. 즉 이 샘플이 진짜 분포를 어느정도 대표한다고 가정합니다. 이 데이터셋을 중복없이 다시 샘플링4하면 샘플의 통계(평균, 비율, 분산)가 변경됩니다. 중복없는 서브샘플링subsampling이 통계에 미치는 정도는 샘플의 사이즈에 반비례합니다. Iris 데이터셋을 이용해 예를 들어 보겠습니다. 랜덤하게 2/3 은 훈련 데이터로 1/3 은 테스트 데이터로 나눕니다.

(소스 코드는 여기에서 확인할 수 있습니다)

데이터셋을 훈련 세트와 테스트 세트로 랜덤하게 나눌 때 통계적 독립성statistical independence의 가정을 위반하고 있습니다. Iris 데이터셋은 50개의 Setosa, 50개의 Versicolor, 50개의 Virginica 품종으로 구성되어 있습니다. 즉 꽃의 품종이 균일하게 분포되어 있습니다.

33.3% Setosa

33.3% Versicolor

33.3% Virginica

랜덤 함수가 붓꽃의 2/3을 (100개) 훈련 세트로 1/3을 (50개) 테스트 세트로 나눌 때 아래와 같은 분포를 만들었습니다.

훈련 세트 → 38 × Setosa, 28 × Versicolor, 34 × Virginica

테스트 세트 → 12 × Setosa, 22 × Versicolor, 16 × Virginica

Iris 데이터셋이 진짜 분포를 대변한다고 가정하면 (예를 들어 자연에서 이 세 품종이 균일하게 분포되어 있다고 가정하면), 우리는 불균형한, 즉 균일하지 않은 클래스 분포를 가진 데이터를 만든 셈입니다. 학습 알고리즘이 모델을 학습시키기 위해 사용할 클래스 비율은 “38% / 28% / 34%” 입니다. 그런 다음 모델을 평가할 때에 사용할 데이터셋은 거꾸로 불균형한 “24% / 44% / 32%” 의 클래스 비율을 가집니다. 학습 알고리즘이 이런 불균형에 완전히 무감하지 않는한 바람직한 상황이 아닙니다. 데이터셋의 클래스 불균형이 커지면 문제는 더 심각해 집니다. 최악의 경우 테스트 세트에는 소수 클래스의 샘플이 하나도 들어 있지 않을 수도 있습니다. 그러므로 데이터셋을 나눌때 계층적stratified 방식이 일반적인 관례입니다. 계층 샘플링stratification은 각 클래스가 훈련 세트와 테스트 세트에 정확하게 분포되도록 데이터셋을 랜덤하게 나눕니다.

아주 크고 균형있는 데이터셋에서 비계층적non-stratified 방식을 사용해 랜덤 서브샘플링random subsampling하는 것은 큰 문제되지 않습니다. 그러나 개인적으로 계층 샘플링은 머신 러닝 애플리케이션에 일반적으로 도움이 됩니다. 더군다나 계층 샘플링은 매우 쉽게 구현할 수 있습니다. Ron Kohavi는 계층 샘플링이 이 글의 뒷 부분에 설명할 k-겹 교차 검증k-fold cross validation에서 추정치의 분산과 편향에 긍정적인 효과를 준다는 것을 입증하였습니다.(Kohavi 1995)

홀드아웃

홀드아웃 검증 방법의 장단점으로 들어가기 전에 전체 과정을 그림으로 요약해 보겠습니다.

① 첫번째 단계에서, 가용 데이터를 훈련 세트와 테스트 세트 두 부분으로 랜덤하게 나눕니다. 테스트 데이터를 따로 두는 것은 데이터나 리소스 부족같은 현실적인 문제와 더 많은 데이터를 모을 수 없을 때를 위한 해결책입니다. 테스트 세트는 학습 알고리즘을 위한 새로운, 본 적이 없는 데이터의 역할을 합니다. 일반화 정확도를 추정할 때 어떤 편향도 만들지 않도록 테스트 세트는 한 번만 사용해야 합니다. 보통 2/3을 훈련 세트로, 1/3을 테스트 세트로 만듭니다. 다른 경우엔 훈련/테스트 비율을 60/40, 70/30, 80/20 또는 90/10으로 할 때도 있습니다.

② 테스트 샘플을 떼어 놓은 후에 주어진 문제에 적합한 학습 알고리즘을 고릅니다. 위 그림에 나타난 Hyperparameter Values 가 무엇일까요? 간단하게 소개하면 하이퍼파라미터는 학습 알고리즘의 파라미터 또는 메타 파라미터입니다. 하이퍼파라미터는 수동으로 지정해야 합니다. 학습 알고리즘은 모델 파라미터와는 달리 훈련 데이터로부터 하이퍼파라미터를 학습할 수 없습니다.

하이퍼파라미터는 모델이 학습하는 동안 학습되지 않기 때문에 이들을 별도로 최적화하기 위한 추가적인 과정 또는 외부 루프5가 필요합니다. 홀드아웃 방식은 이 작업에는 적합하지 않습니다. 여기서는 어떤 고정된 하이퍼파라미터를 사용해 진행합니다. 직관에 따라 정할 수도 있고 또는 머신 러닝 라이브러리를 사용한다면 알고리즘에 내장된 기본값을 사용할 수도 있습니다.

③ 학습 알고리즘이 이전 단계에서 모델을 학습시켰습니다. 다음 질문은 “이 모델이 얼마나 좋은가?”입니다. 이제 테스트셋이 사용될 차례입니다. 알고리즘은 이전에 테스트 세트를 본 적이 없으므로 새로운 처음 본 데이터에 대해 편향되지 않는 성능 추정을 합니다. 그러므로 해야 할 일은 모델을 사용해 테스트 세트의 클래스 레이블을 예측하는 것입니다. 그런 다음 일반화 성능을 추정하기 위해 예측된 클래스 레이블과 진짜 레이블을 비교를 합니다.

④ 결국 우리는 새로운 데이터에 대해 모델이 얼마나 잘 작동하는지 추정했습니다. 그러므로 더 이상 테스트 데이터를 따로 떼어 놓을 필요가 없습니다.

우리는 샘플이 독립적이고 동일한 분포를 가진다고 가정했으므로 가용한 모든 데이터를 주입한다고 해서 모델의 성능이 더 나빠질 이유가 없습니다. 통상적으로 모델의 성능이 한계치에 이르기 전에는 알고리즘에 유용한 데이터를 더 제공할수록 일반화 성능은 좋아집니다.

비관적인 편향

훈련 세트와 테스트 세트를 나누는 것에 대해 이야기할 때 언급한 두가지 문제를 기억하나요? 첫번째 문제는 독립성의 위반과 서브샘플링으로 인한 클래스 비율의 변화입니다. 두번째 문제는 홀드아웃 그림을 살펴 보면서 다루었습니다. 네번째 단계에서 모델의 성능 한계에 대해 이야기했고 추가 데이터가 유용할지 안할지 이야기했습니다. 성능 한계 이슈를 따라가 보면, 우리 모델이 성능 한계에 도달하지 않았을 경우 성능 추정은 비관적으로 편향되어 있을 수 있습니다. 알고리즘이 더 많은 데이터로 나은 모델을 학습시킬 수 있다고 가정하면, 일반화 성능을 재기위해 떼어 놓았던 (예를 들면 테스트 데이터) 가용한 데이터를 가로막고 있던 셈입니다. 네번째 단계에서 완전한 데이터셋으로 모델을 학습시킵니다. 그러나 테스트 데이터셋을 사용했기 때문에 일반화 성능을 추정할 수 없습니다. 실제 애플리케이션에서는 피할 수 없는 딜레마로 일반화 성능의 추정은 비관적으로 편향되어 있다는 것을 인지해야 합니다.

신뢰구간

위에서 사용한 홀드아웃 방법을 사용하면 모델의 일반화 정확도에 대한 점추정point estimate를 계산한 것입니다. 어떤 애플리케이션에서는 이 추정치 근방의 신뢰 구간confidence interval이 더 유용하고 필요할 뿐만 아니라 특정한 훈련/테스트 세트 묶음에 점추정이 민감할 수도 있습니다(즉 분산이 큰 경우).

실전에서 자주 사용되는 (하지만 저는 추천하지 않습니다) 다른 간단한 방법은 정규 분포Normal Distribution를 가정한 친숙한 공식을 사용하여 중심 극한 정리central limit theorem로 하나의 훈련, 테스트 분할로 만든 평균의 신뢰 구간을 계산하는 것입니다.

확률 이론에서 중심 극한 정리(CLT)란 주어진 조건하에서 잘 정의된 기대값, 분산으로 독립 확률 변수를 충분히 많이 반복하여 계산한 산술 평균은 실제 데이터 분포에 상관없이 정규 분포에 가깝다는 것을 말합니다. [https://en.wikipedia.org/wiki/Central_limit_theorem]

이 단순한 방식을 정규 근사 구간normal approximation interval이라고 부릅니다. 어떻게 작동하는 것일까요? 예측 정확도는 다음과 같이 계산합니다.

여기서 L(·) 은 0-1 손실 함수이고 n 은 테스트 세트에 있는 샘플의 수, 는 예측된 클래스 레이블, y 는 i 번째 샘플의 진짜 클래스 레이블입니다. 그래서 각 예측은 베르누이 시행Bernoulli trial으로 볼 수 있으므로 올바른 예측 수 X 는 이항 분포binomial distribution X ~ B(n, p) 가 되고 n 은 샘플, k 는 시도 횟수이며 n ∈ N, p ∈ [0, 1] 입니다.6

k = 0, 1, 2, …, n 일 때

(p 는 성공 확률이고 (1 – p) 는 실패 확률-잘 못된 예측-입니다)

이제 예상되는 성공 횟수는 μ = np 로 계산되므로 예측기가 50% 성공 확률을 가진다면 40개의 예측에서 20개를 맞출 것입니다. 성공 횟수에 대한 추정은 σ2 = np(1 – p) = 10 분산을 가지고, 표준 편차는

입니다. 그런데 우리는 정확한 값이 아니라 성공의 평균 횟수에 관심이 있으므로 정확도 추정의 분산을 다음과 같이 계산합니다.7

이에 대응하는 표준 편차는

정규 분포로 근사하면 신뢰 구간을 아래와 같이 쓸 수 있습니다.

여기에서 α 는 에러의 분위quantile를 나타내고 z 는 표준 정규 분포의 분위를 나타냅니다. 전형적인 신뢰 구간인 95%(alpha=5%)에서 z=1.96 입니다.8

그러나 실제적으로 훈련-테스트 세트를 여러번 분할해서 만든 평균 추정치(각 반복 결과의 평균)로 신뢰 구간을 계산하는 것을 추천합니다. 여기에서 기억해야 할 것은 테스트 세트에 샘플 수가 적으면 분산이 커지고(n 이 분수의 분모이므로) 따라서 신뢰 구간의 폭이 넓어진다는 것입니다.

다음에는

전체 글이 꽤 장문이므로 여러 파트로 나누었습니다. 다음에는 아래 내용에 대해 이야기 하겠습니다.

모델링 불확실성을 위한 반복 홀드아웃 검증과 부트스트랩 방법 (2장)

하이퍼파라미터 튜닝을 위한 홀드아웃 방법 – 데이터셋의 훈련, 테스트, 검증 세트 분할 (3장).

K-겹 교차 검증: 모델 선택의 유명한 방법 (3장).

Nested cross-validation, probably the most common technique for model evaluation with hyperparameter tuning or algorithm selection. (Part IV).

참고문헌

Kohavi, R., 1995. A study of cross-validation and bootstrap for accuracy estimation and model selection. In Ijcai (Vol. 14, No. 2, pp. 1137-1145). [Citation source] [PDF]

Efron, B. and Tibshirani, R.J., 1994. An introduction to the bootstrap. CRC press. [Citation source] [PDF]

(역주)

디렉 델타 함수는 일종의 이산 함수로 크로네커 델타 함수Kronecker Delta Function와 동일한 의미로 많이 사용됩니다. 즉 손실 함수 L(·) 이 0일 때 델타 함수 값이 1이 되고 그 외에 델타 함수 값은 0입니다. 기대값 는 추정량의 평균을 의미합니다. 여기서 말하는 편향은 머신 러닝에서 흔히 말하는 선형 모델에 추가되는 상수항을 의미합니다. 중복없이 샘플링한다는 것은 샘플링 과정에서 추출한 샘플은 다시 원본 데이터셋에 돌려놓지 않는다는 뜻으로 서브샘플링으로 추출한 데이터에는 동일한 샘플이 중복되어 들어가 있지 않습니다. 하이퍼파라미터를 최적화하려면 코드의 바깥쪽 루프에서 하이퍼파라미터 셋팅을 바꾸어 가며 k-폴드 크로스밸리데이션을 반복해서 수행해야 합니다. 파이썬 머신 러닝 라이브러리인 사이킷런scikit-learn에서는 이를 위해 GridSearchCV 와 같은 클래스를 제공합니다. 이항분포 공식은 이산적인 이벤트가 여러번 일어났을 때 성공, 실패의 확률 와 성공, 실패가 나타난 조합의 수 를 곱합니다. CLT를 적용하려고 앞의 표준편차 공식을 n 으로 나누어 평균을 내고 제곱을 하여 분산을 계산합니다. CLT에서 정규분포의 양끝 꼬리의 에러 분위를 고려해야 하므로 의 표준점수 z 는 1.96입니다.

머신 러닝 모델이란?

데이터를 연료 삼아 작동하는 머신 러닝 모델은 AI의 수학 엔진이자 알고리즘의 표현식으로 인간보다 빨리 패턴을 찾고 예측을 수행합니다

자동차 구입 시에 우리가 가장 먼저 생각하는 건 차종, 즉 모델입니다. 통근 비용 절약은 혼다 시빅(Honda Civic), 멋진 외관과 속도감은 쉐보레 콜벳(Chevy Corvette), 무거운 수하물의 운반은 포드 F-150(Ford F-150)을 고민하는 식이겠죠.

이 시대 최고의 혁신적 테크놀로지인 AI를 향한 여정의 경우 우리가 먼저 고민해야 할 것은 엔진, 즉 머신 러닝(ML) 모델입니다.

머신 러닝 모델이란?

ML 모델은 산더미 같은 데이터를 뒤져 패턴을 발견하거나 예측을 수행하는 알고리즘의 표현식입니다. 데이터를 연료 삼아 작동하는 ML 모델은 AI의 수학 엔진에 해당하죠.

가령 컴퓨터 비전용 ML 모델은 실시간 비디오 속 차량과 보행자를 식별할 수 있을 겁니다. 자연어 처리용 모델은 단어와 문장을 번역할 수 있겠죠.

다른 말로 표현하면, ML 모델은 오브젝트와 그들의 관계를 수학적으로 나타낸 표현형입니다. 소셜 네트워크 게시글의 ‘좋아요’부터 실험실 실험의 분자에 이르기까지, 무엇이든 오브젝트가 될 수 있습니다.

전천후 머신 러닝 모델

ML 모델의 피처가 될 수 있는 오브젝트에 제약이 없으므로 AI의 사용 범위에도 제한이 없습니다. 무궁무진한 조합이 탄생할 수 있죠.

데이터 사이언티스트들은 다양한 목적으로 사용될 ML 모델 일체를 만들어 왔으며, 현재 더 많은 모델이 개발 중에 있습니다.

ML 모델의 간단한 분류 체계

선형(linear) 모델은 대수학을 사용해 재무 계획 내 변수들 간의 관계를 예측합니다. 그래픽 모델은 소비자가 제품을 구매할지 여부 등의 확률을 도표로 표현하죠. ML 모델에 따라서는 나뭇가지의 메타포를 빌려 의사결정 분지도(decision tree), 또는 이 분지도들의 조합인 랜덤 포레스트(random forest)의 형태를 취하기도 합니다.

2012년에 일어난 소위 AI의 빅뱅에서 연구자들은 딥 러닝이 패턴 탐지와 예측을 가장 성공적으로 수행하는 기법임을 발견했습니다. 딥 러닝은 신경망이라 불리는 일종의 ML 모델을 사용하는데요. 이 모델이 뇌세포의 패턴과 기능에 착안해 만들어졌다는 이유로 신경망이라는 이름을 붙었습니다.

ML 모델의 대중화

딥 러닝이라는 용어 또한 ML 모델의 특정 구조에서 따온 이름입니다. 이 구조란 각 피처와 그들의 관계를 다층적으로 쌓아 올리는 것을 뜻합니다. 이를 테면 수학을 재료로 초대형 샌드위치를 만드는 셈입니다.

현재 두 종류의 딥 러닝 모델(자세한 설명은 여기를 참고하세요)이 패턴 발견의 측면에서 굉장한 정확도를 자랑하며 널리 활용되고 있습니다.

컴퓨터 비전에 자주 사용되는 합성곱 신경망(CNN)은 자율주행 자동차의 눈 역할을 하고, 의료 이미지에서 질병을 포착합니다. 언어와 문자를 분석하도록 조정된 반복 신경망(RNN)과 트랜스포머는 아마존 알렉사와 구글 어시스턴트, 애플 시리의 엔진으로 사용됩니다.

사전 훈련된 모델 고르기

CNN이나 RNN, 트랜스포머 등 적합한 모델군의 선택은 훌륭한 출발점이 되어줍니다. 하지만 아직 갈 길이 멀죠.

일례로 바하 500 경주에 참가할 생각이라면, 모래언덕용 스톡 자동차에 육중한 차체 안정 장치와 특수 타이어를 달아 직접 개조하거나, 해당 경주용으로 미리 구축되어 있는 차량을 구입할 수 있을 것입니다.

후자의 경우를 머신 러닝에서는 사전 훈련된 모델이라고 부릅니다. 개별 활용 사례의 데이터와 유사한 대규모 훈련 데이터로 미리 조정해둔 모델을 의미하죠. 데이터 간 관계에 해당하는 가중치(weight)와 편향(bias)이 의도된 용도에 맞춰 최적화돼 있습니다.

모델의 훈련에는 어마어마한 데이터세트와 방대한 AI 전문성, 상당한 컴퓨팅 능력이 필요합니다. 요령 있는 구매자들은 사전 훈련된 모델을 선택해 시간과 비용을 절약합니다.

사전 훈련 모델을 위한 선택, NGC 카탈로그

사전 훈련된 모델을 구하려면 신뢰할 수 있는 딜러를 찾아야 하는데요.

NVIDIA가 제공하는 온라인 라이브러리인 NGC 카탈로그에는 면밀한 검증을 거친 사전 훈련 모델이 가득합니다. 컴퓨터 비전과 대화형 AI 등 광범위한 AI 작업용 모델들이 준비되어 있습니다.

NGC 카탈로그의 모델들은 제품 이력과 함께 제공되므로 사용자는 자신이 선택하는 모델을 정확히 파악할 수 있습니다. 모델의 이력은 인력 고용 시에 활용되는 자격 인증과도 같습니다.

모델 이력은 해당 모델의 훈련 도메인, 훈련에 사용한 데이터세트, 예측 성능을 보여줍니다. 사용자가 투명성을 바탕으로 자신의 활용 사례에 적합한 모델을 자신 있게 선택하도록 해줍니다.

ML 모델의 추가 리소스

그뿐 아니라 NGC 모델들은 전이 학습(transfer learning)에도 준비돼 있습니다. 전이 학습은 모델이 구동될 정확한 환경, 즉 사용자의 애플리케이션 데이터에 모델을 맞추는 최종 조정 단계에 해당합니다.

NVIDIA는 NGC 카탈로그에서 선택한 모델을 조정할 도구도 함께 제공합니다. 바로 NVIDIA TAO입니다. 지금 조기 체험 프로그램에 등록할 수 있습니다.

더 자세한 정보는 다음을 확인하세요:

2. 머신러닝 필수용어 5가지 (모델, 학습, 훈련, 입력, 타깃)

이번 포스팅에서는 머신러닝/딥러닝을 이해하는데 필요한 필수용어 5가지를 정리해본다.

| 1.모델

모델(model)은 프로그램을 의미한다.

만약 당신이 강수여부를 예측하는 인공지능 프로그램을 만든다고 하면,

그것은 다시 말해 강수여부를 예측하는 인공지능 모델을 만든다는 의미이다.

인공지능 프로그램 = 인공지능 모델

| 2. 학습

학습의 의미에 대해서는 저번 포스팅에서 자세하게 다뤘으니 의미만 언급하고 넘어가겠다.

학습이란 컴퓨터가 스스로 데이터의 규칙을 찾는 기술을 의미한다.

(자세한 내용은 아래 포스팅 참고!)

2020/06/01 – [Deep Learning/[Books] Do it! 정직하게 코딩하며 배우는 딥러닝 입문] – 1. 인공지능, 머신러닝, 딥러닝 기초개념 다지기

| 3. 훈련

훈련은 말 그대로, 학습을 구현하기 위한 과정이다.

‘컴퓨터가 스스로 데이터의 규칙을 찾는다’ 라는 결과가 학습이라면,

데이터의 규칙을 찾고 정확도를 높이는 방향으로 수정하는 과정은 훈련이다.

훈련 = 학습의 과정

| 4. 입력

입력이란 모델(프로그램)이 규칙을 찾아야 할 대상이다.

강수여부를 예측하는 프로그램이라면,

습도 데이터의 규칙을 찾아서 강수여부를 예측할 수 있다.

따라서 강수여부 예측 프로그램에서 입력이란 습도 데이터를 의미한다.

| 5. 타깃

타깃은 모델(프로그램)이 맞춰야 할 정답을 의미한다.

강수여부를 예측하는 프로그램에서는

강수여부를 맞춰야 하기 때문에 타깃이란 강수여부 데이터를 의미한다.

– 정리 –

EX. 강수여부 예측하는 인공지능 프로그램

모델 : 강수여부를 맞추는 프로그램

학습 : 습도와 강수여부 사이의 규칙을 찾음

훈련 : 습도와 강수여부 사이의 규칙을 찾는 과정

입력 : 과거 습도 데이터

타깃 : 강수여부 데이터

위 개념들을 좀 더 구체적으로 살펴보자.

대부분의 머신러닝 알고리즘은 입력과 타깃의 관계를 식으로 표현할 수 있다.

강수여부를 예측하기 위한 입력과 타깃을 살펴보고, 식으로 표현해보자.

습도(입력) 강수여부(타깃) 0.8 O 0.2 X 0.7 O … 0.5 X

다양한 식을 작성할 수 있겠지만,

나는 1.5*x + 0.1 = y (y가 1이상이면 비가온다고 예측)로 표현해보았다.

놀랍게도 위 식도 머신러닝 알고리즘 중 하나로, 선형회귀의 일종이다.

(물론 정확도는 턱 없이 낮을 것이다.)

위 식에서 각 변수가 무엇을 의미하는 정리해보면 다음과 같다.

x = 습도데이터 = 입력

y = 강수여부 = 타깃

그렇다면 1.5와 0.1은 무엇일까?

바로 규칙이다.

나는 습도데이터에 1.5를 곱하고 0.1을 더해서 1보다 크면 비가 온다는 식을 세웠고,

1.5와 0.1로 규칙을 표현한 것이다.

이 규칙들은 각각 가중치와 절편이라고 부르는데

입력과 곱하는 수(1.5)가 가중치, 더하는 수(0.1)가 절편이다.

머신러닝 알고리즘은 이 규칙들을 수정해나가면서 (훈련)

가장 높은 정확도를 내는 모델(프로그램)을 만든다. (학습)

이렇게 머신러닝을 위한 기초용어 5가지를 살펴보았다.

다음 포스팅에서는 머신러닝 알고리즘이 어떻게 규칙을 수정해나가는지 알아보기 위해

머신러닝 학습방식 3가지를 정리해보겠다.

기계 학습 모델이란 무엇인가요?

목차

기계 학습 모델이란 무엇인가요?

아티클

05/30/2022

읽는 데 2분 걸림

기여자 3명

이 문서의 내용

기계 학습 모델은 특정 유형의 패턴을 인식하도록 학습된 파일입니다. 데이터 세트에 대해 모델을 학습하여 해당 데이터로 추론하고 학습하는 데 사용할 수 있는 알고리즘을 제공합니다.

모델을 학습한 후에는 이를 사용하여 이전에 표시되지 않은 데이터를 추론하고 해당 데이터에 대한 예측을 만들 수 있습니다. 예를 들어 얼굴 식에 따라 사용자의 감정을 인식할 수 있는 애플리케이션을 빌드하려는 경우를 가정해 보겠습니다. 특정 감정으로 각각 태그가 지정된 얼굴 이미지를 제공하여 모델을 학습한 다음, 사용자의 감정을 인식할 수 있는 애플리케이션에서 해당 모델을 사용할 수 있습니다. 이러한 애플리케이션의 예제는 Emoji8 샘플을 참조하세요.

Machine Learning을 사용해야 하는 경우

좋은 기계 학습 시나리오에는 종종 다음과 같은 공통 속성이 있습니다.

여기에는 자동화하고 일관된 결과를 필요로 하는 반복되는 결정 또는 평가가 포함됩니다. 솔루션 또는 결정에 대한 기준을 명시적으로 설명하는 것은 어렵거나 불가능합니다. 데이터 또는 상황을 설명하고 올바른 결과에 매핑할 수 있는 기존 예제를 레이블 지정했습니다.

Windows Machine Learning은 해당 모델에 대해 ONNX(Open Neural Network Exchange) 형식을 사용합니다. 미리 학습된 모델을 다운로드하거나 모델을 직접 학습할 수 있습니다. 자세한 내용은 Windows ML용 ONNX 모델 가져오기를 참조하세요.

시작하기

전체 앱 자습서 중 하나를 수행하거나 Windows Machine Learning 샘플로 바로 이동하여 Windows Machine Learning을 시작할 수 있습니다.

인공지능 블록 > 모델 학습이란? — Entry Docs

인공지능 블록 > 모델 학습이란?

AI 활용 블록을 사용해 봤다면, 이제 직접 인공지능 모델을 한 번 만들어볼까요?

엔트리에서는 이미지/음성/텍스트를 각각의 클래스로 분류할 수 있는 모델, 숫자를 분류/예측하거나 군집으로 만드는 모델 등을 학습할 수 있어요. 엔트리에서 학습한 모델은 블록으로 조립해 작품에서도 활용할 수 있어요.

모델을 학습하고 나면 사용자가 학습하지 않은 새로운 데이터를 입력해도, 모델이 스스로 새로운 데이터를 학습한 모델에 넣어 나오는 결과값을 알려준답니다.

모델 학습하기는 크롬 사용을 권장합니다. 다른 브라우저에는 동작하지 않거나, 모델 학습 속도가 (상상 이상으로) 느릴 수 있습니다.

모델은 최대 10개까지 학습시킬 수 있습니다. 학습한 모델이 10개를 초과하면 1개 이상의 모델을 비활성화해야 새로운 모델을 학습시킬 수 있습니다.

비활성화된 모델은 기존 작품에서 더 이상 동작하지 않고, 다시 활성화하기 전에는 사용할 수 없습니다. 모델을 비활성화 할 때는 이미 공유한 작품에 해당 모델이 추가되지 않았는지 꼭 확인해 주세요.

학습한 모델을 추가한 작품에서 코드 보기를 누르거나 작품을 사본으로 저장해도 모델은 확인할 수 없습니다. 학습한 모델은 모델을 만든 사용자만 확인할 수 있습니다.

이미 학습이 완료된 학습 데이터는 서버 환경에 따라 비정기적으로 삭제될 수 있습니다. 학습 데이터가 삭제되더라도 학습한 모델 자체는 유지됩니다.

모델 학습에 사용하는 학습 데이터는 서버에 저장됩니다. 저작권에 문제가 없고 개인정보가 아닌 데이터만 입력해 주세요. 이를 지키지 않아 발생하는 문제는 모두 사용자의 책임입니다.

학습할 모델 선택하기 > 새로 만들기

인공지능 블록 카테고리의 블록 꾸러미에 있는 ‘인공지능 모델 학습하기’ 버튼을 클릭하면 나타나는 팝업 창입니다. (새 탭에서 열립니다.)

학습할 데이터의 유형을 선택하고 모델 학습을 완료하면 해당 유형의 블록을 블록 꾸러미에 추가해요.

아래는 학습할 수 있는 데이터의 유형입니다.

분류: 이미지

업로드 또는 웹캠으로 촬영한 이미지를 분류할 수 있는 모델을 학습합니다.

업로드 또는 웹캠으로 촬영한 이미지를 분류할 수 있는 모델을 학습합니다. 분류: 텍스트

직접 작성하거나 파일로 업로드한 텍스트를 분류할 수 있는 모델을 학습합니다.

직접 작성하거나 파일로 업로드한 텍스트를 분류할 수 있는 모델을 학습합니다. 분류: 음성

마이크로 녹음하거나 파일로 업로드한 음성을 분류할 수 있는 모델을 학습합니다.

마이크로 녹음하거나 파일로 업로드한 음성을 분류할 수 있는 모델을 학습합니다. 분류: 숫자

테이블의 숫자 데이터를 가장 가까운 이웃(K개)을 기준으로 각각의 클래스로 분류하는 모델을 학습합니다.

테이블의 숫자 데이터를 가장 가까운 이웃(K개)을 기준으로 각각의 클래스로 분류하는 모델을 학습합니다. 예측: 숫자

테이블의 숫자 데이터를 핵심 속성으로 삼아 예측 속성을 찾아내는 선형 회귀 모델을 학습합니다.

테이블의 숫자 데이터를 핵심 속성으로 삼아 예측 속성을 찾아내는 선형 회귀 모델을 학습합니다. 군집: 숫자

테이블의 숫자 데이터를 핵심 속성으로 삼아 정한 수(K개)만큼의 묶음으로 만드는 모델을 학습합니다.

학습할 모델 선택하기 > 나의 모델

‘나의 모델’ 탭에서는 이미 학습한 모델을 다시 학습하거나 바로 추가할 수 있습니다. 하나의 작품에서 하나의 모델만 선택할 수 있어요.

오른쪽의 ‘비활성화 모델 함께보기’ 토글 버튼을 클릭하면 학습한 모델을 활성화/비활성화할 수 있습니다.

비활성화한 각 모델은 오른쪽 위의 [X] 버튼을 눌러 모델과 학습 데이터를 삭제할 수 있어요. 해당 모델을 적용해 만든 작품은 정상적으로 동작하지 않게 됩니다.

모델을 비활성화하고 삭제할 때는 이미 공유한 작품에 적용되어 있지는 않은지 꼭 확인해주세요.

모두의 인공지능 with 파이썬: 7 모델 정확도 살펴보기

7 모델 정확도 살펴보기

지금까지 심층 신경망 모델을 설계하고, 그 모델을 학습시켰습니다. 이제 그 모델의 성능이 어느 정도인지 확인해 봐야겠죠? 지금부터 인공지능 모델이 얼마나 잘 학습하였는지 시험해 보겠습니다. 시험 내용은 ‘검증 데이터를 얼마나 잘 맞히는가’입니다.

score = model.evaluate(X_test, Y_test) print ( ‘Test score:’ , score[ 0 ]) print ( ‘Test accuracy:’ , score[ 1 ])

실행 결과

313/313 [==============================] – 1s 2ms/step – loss: 0.0817 – accuracy: 0.9800 Test score: 0.08166316896677017 Test accuracy: 0.9800000190734863

■ score = model.evaluate(X_test, Y_test)

케라스의 evaluate 함수는 모델의 정확도를 평가할 수 있는 기능을 제공합니다. 이 함수를 사용하려면 두 가지 데이터를 넣어야 합니다. 첫 번째 데이터는 테스트할 데이터로, 여기에서는 X_test를 입력합니다. 두 번째 데이터는 테스트할 데이터의 정답으로, 여기에서는 Y_test를 입력합니다.

evaluate 함수에 데이터를 넣으면 두 가지 결과를 보여주는데 첫 번째는 바로 오차값(loss)입니다. 오차값은 0~1 사이의 값으로, 0이면 오차가 없는 것이고 1이면 오차가 아주 크다는 것을 의미합니다. 두 번째는 정확도(accuracy)입니다. 모델이 예측한 값과 정답이 얼마나 정확한지에 대해서 0과 1 사이의 값으로 보여줍니다. 1에 가까울 수록 정답을 많이 맞춘 것을 의미합니다.

생성한 모델에 X_test, Y_test 데이터를 입력하여 얻은 두 가지 결괏값인 오차와 정확도를 score 변수에 넣습니다.

■ print(‘Test loss:’, score[0])

score 변수에는 오차값과 정확도가 들어 있습니다. 여기에서는 오차값을 출력하기 위해 score 변수의 첫 번째 항목인 점수를 출력합니다. score[0]에서 숫자가 1이 아니고 0인 이유는 이제 다들 알죠? 프로그래밍에서는 첫 번째가 0으로 시작하기 때문입니다.

■ print(‘Test accuracy:’, score[1])

score 변수의 두 번째 항목인 정확도를 출력합니다. 최종 오차는 0.08, 정확도는 0.98이 나온 것을 확인할 수 있습니다.

5. 모델 학습 / 평가 – DATA ON-AIR

5. 모델 학습 / 평가

모델링이란 분석용 데이터를 이용한 가설 설정을 통하여 통계모형을 만들거나 기계학습(Machine Learning)을 이용한 데이터의 분류, 예측, 군집 등의 기능을 수행하는 모형을 만드는 과정입니다. 기계학습은 지도학습(Supervised Learning)과 비지도학습(Un-supervised Learning) 등으로 나뉘어 다양한 알고리즘을 적용할 수 있습니다. 모델링을 효과적으로 진행하기 위해서는 모델링 전에 데이터셋을 Training과 Testing으로 분할함으로써 모형의

과적합(Overfitting)을 방지하거나 모형의 일반화(Generalization)에 이용됩니다. 기계학습 등을 이용한 데이터 모델링은 Training 데이터를 활용하여 분류, 예측, 군집 등의 모형을 만들어 가동중인 운영 시스템에 적용합니다. 또한 필요시 비정형 데이터 분석결과를 통합적으로 활용하여 프로젝트 목적에 맞는 통합 모델링을 수행합니다. <블록 체크리스트>

· 데이터 셋 분할 방법 선택

· 분석 주제에 맞는 분석 모델 방법론과 알고리즘을 검토

· 해당 모델 학습을 위한 변수 변환 방법론을 검토 모델 학습 / 평가 블럭 활용법

데이터 정규화

· Training Data : 모델을 생성하기 위한 데이터

· Validation Data : 최소 예측 오차를 갖는 모델을 결정하기 위한 데이터

· Test Data : 생성한 모델을 평가하기 위한 데이터 (최근 데이터)

모든 데이터를 사용하여 모델을 생성하는 경우, 사용된 데이터에 과적합 되는 문제가 발생하기 때문에 향후 모델을 사용하는 경우,

예측력이 매우 떨어지는 현상이 발생할 수 있습니다.

그렇기 때문에 모델의 안정성과 예측력의 비교를 위해서 데이터를 Training / Validation data로 구분하여 사용하며, Test data

로 평가합니다. Training / Validation은 보통 7 : 3의 비율로 사용합니다.

모델 학습

데이터 세트에서 설명변수를 이용하여 다양한 알고리즘을 거쳐 모델링을 진행하게 됩니다. 모델링의 결과 중 가장 우수한 알고

리즘을 선정하고, 일부 변수를 제외한 최적의 모델 선정 과정을 거치게 됩니다. 데이터에 대해 모델을 학습한다는 것은 데이터

에 기반해 최적화된 모델 파라미터를 알아내는 것을 말합니다.

예측 모델을 만드는 일은 여러 속성 변수들을 이용해 목표 변수에 대한 모델을 알아내는 과정으로서 데이터를 분석해 모델 구조

와 모델의 수치형 파라미터를 찾는 과정입니다.

수치형 파라미터를 지정하지 않고 모델의 구조만으로도 데이터 세트에 대한 예측 모델을 학습할 수 있습니다. 그런 다음 데이

터 분석 기법을 적용해 주어진 훈련 데이터 세트에 최적화된 파라미터를 계산할 수 있습니다. 일반적으로 모델 구조는 여러 수

치형 속성에 대해 파라미터화된 수학 함수나 방정식으로 정의됩니다. 모델에 사용될 변수를 선택할 때는 어떤 설명변수가 목표

변수를 예측하는데 적합한 정보를 제공하는지를 찾아가는 과정입니다. 이때 해당 영역의 지식을 통해서 선택하거나 변수 선택

절차와 같은 분석 기법을 통해 찾아 내게 됩니다.

데이터 분석에서 모델링의 목표는 모델이 가능한 한 데이터에 잘 맞도록 파라미터를 찾는 것인데 이를 튜닝이라 부르기도 합

니다. 이런 방법을 parameter learning, parametric modeling 이라고 부릅니다.

모델 검증/테스트

데이터 분석의 마지막 단계인 검증을 살펴보겠습니다. 프로젝트 정의서의 모형 평가 기준에 따라 모형을 객관적으로 평가하

고 품질관리 차원에서 모형 평가 프로세스를 진행합니다. 모형 평가를 위해서는 모형 결과 내의 알고리즘을 파악하고 테스

트용 데이터나 필요시 모형 검증을 위한 별도의 데이터를 활용할 수 있습니다.

모델 평가 단계에서 하는 작업은 분석 모델링 결과를 평가하고 다음 단계로 진행하기 위해 모델의 안정성과 신뢰성을 확인하

는 것들입니다.

분석 결과를 활용해야 하는 쪽에서는 데이터 분석을 통해 만든 모델을 이용하여 작업을 지원하거나 의사 결정을 하는데 사용하

게 됩니다. 그렇기 때문에 분석 모델이 신뢰할 수 있을 뿐만 아니라, 이를 통한 의사 결정의 결과도 만족스러워야 모델을 실전

에 배치하게 될 것입니다.

모델 평가 단계에서는 모델과 데이터에서 추출한 패턴이 규칙이라고 할 수 있는지, 아니면 특정 데이터에서만 볼 수 있는 성질은

아닌지 등을 확인해야 합니다. 평가 단계에서는 모델이 원래 비즈니스 목적에 부합하는지를 보장해야 합니다.

실전에 배치하기로 결정 할 때는 모델로 인해 중대한 문제가 발생될 여지가 있는지를 반드시 확인해야 합니다. 이런 평가를 원

활히 수행하려면 데이터 분석가는 반드시 모델 사용자들 모두가 이해할 수 있는 모델을 만들어야 합니다.

모델의 성능에 대해서는 평가 체계가 있어야 합니다. 대부분은 실제 운용할 환경에는 접근이 제한되므로 운용 단계에서는 평가

를 하기가 매우 어려울 수 있습니다. 또한 분석 모델이 시스템에배치된 후에는 여러 부분이 연결되어 함께 작동되므로 어느 한 부

분이 미치는 영향을 평가하기도 어렵습니다. 여력이 되는 환경이라면 실제 운용 환경과 비슷한 테스트베드를 구축해 놓고 평가하

는 것이 바람직하다 하겠습니다.

평가를 하는 이유 중 하나는 외부 환경이 바뀔 때 모델의 의사 결정 성능이 저하되지는 않았는지 확인하려는 것과 입력 데이터의

구조나 내용이 데이터 분석가가 모르는 상태에서 바뀔 수도 있다는 것입니다.

모델 평가 지표 선정

예측정확도는 적합도(goodness-of-fit)와 같지 않습니다.

전통적인 통계적 성능 측도는 학습시킨 데이터에 잘 적합하는 모델을 찾는 것을 지향합니다.

데이터마이닝에서는 ‘새로운‘ 관측값들이 적용되었을 때 높은 예측 정확도를 내는 모델에 관심이 있습니다.

출처) Citizen Data Scientist를 위한 데이터 사이언스 캔버스

지은이 ㈜ 베가스 R&D Center

키워드에 대한 정보 인공 지능 모델

다음은 Bing에서 인공 지능 모델 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 [16] 알고리즘과 모델 구분하기 – 어떻게 다른걸까?

  • 친절한AI
  • 친절한 머신러닝
  • 머신러닝
  • 인공지능
  • 강의
  • 쉬운
  • 비전공자
  • 알고리즘
  • 모델
  • 차이점
  • 구분하기
  • Al
  • Machine Learning
  • Algorithm
  • Model
  • difference
  • 누구나
  • 이해하는
  • 용어
  • 설명
[16] #알고리즘과 #모델 #구분하기 #- #어떻게 #다른걸까?


YouTube에서 인공 지능 모델 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 [16] 알고리즘과 모델 구분하기 – 어떻게 다른걸까? | 인공 지능 모델, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment