Please enable JavaScript.
Coggle requires JavaScript to display documents.
인공지능과 학습 (1511 박구름) - Coggle Diagram
인공지능과 학습 (1511 박구름)
딥러닝으로 손 글씨 분류하기
문제 정의하기
데이터 수집 및 전처리하기
데이터 수집하기
데이터 탐색하기
데이터 전처리 하기
딥러닝과 알고리즘 선정하기
인공신경망 구조 만들기
인공신경망 학습시키기
성능 평가하기
기계학습과 딥러닝의 차이점
기계학습은 문제 해결에 필요한 핵심 속성을 사람이 추출해야 함.
핵심 속성을 추출하는 과정에서 많은 시간이 소요되며, 속성을 잘못 추출하면 기계학습의 성능이 떨어질 수 있음.
딥러닝은 학습을 통해 스스로 핵심 속성을 찾아냄.
딥러닝은 학습 과정에서 데이터의 특성을 스스로 찾기 때문에 핵심 속성을 잘못 추출해 떨어질 가능성은 없음.
기계학습과 데이터
전통적 프로그래밍과 기계학습
전통적 프로그래밍
기계학습이 등장하기 전의 전통적 프로그래밍을 이용한 문제 해결 방식은 이러한 자동화 능력을 구현하기 위해 규칙을 프로그래머가 직접 만들고, 규칙을 표현한 알고리즘에 데이터를 입력하면 컴퓨팅 시스템이 알고리즘에 따라 결과를 출력함.
기계학습
기계학습을 이용하면 컴퓨터는 입력된 데이터 속성들 간의 규칙을 학습해 모델을 생성한 후 새로운 입력 데이터의 결과를 판단하거나 예측한다.
기계학습을 통한 문제 해결 과정
인공지능은 입력받은 훈련 데이터를 바탕으로 학습하고 규칙을 발견해 기계학습 모델을 만든다. 학습된 기계학습 모델에 문제 해결을 위해 사용할 데이터를 적용하면 결과값이 출력된다.
기계학습을 통해 문제를 해결하기 위해서는 문제 상태를 정확히 파악하고 정의할 수 있어야 하며, 주어진 상황의 현재 상태와 목표 상태가 무엇인지, 활용해야하는 핵심 요소는 무엇인지 등을 정확히 분석해야 문제 해결 방향을 정확히 설정할 수 있다.
기계학습으로 해결 가능성이 높은 문제와 그렇지 않은 문제
충분한 양과 우수한 품질을 갖춘 데이터가 있는지와 이를 활용해 적합한 모델을 생성할 수 있는지 여부에 따라 기계학습으로 해결 가능성이 높은 문제와 낮은 문제를 구분할 수 있음.
문제 해결을 위한 데이터
인공지능은 훈련 데이터로 학습하고, 데이터의 양과 질이 충분할수록 성능이 높아짐. 하지만 데이터가 부족하거나 편향되면 잘못된 결과를 초래함.
체형에 따라 옷의 사이즈를 추천하는 인공지능을 만든다고 가정하였을 때, 사람들의 성별에 따른 키, 팔괴 다리의 길이, 몸무게, 허리둘레, 어깨너비, 옷 사이즈 등의 신체적 특징의 데이터가 필요.
데이터가 충분하면 더 정확한 모델 생성이 가능하지만, 데이터가 부족하거나 한쪽으로 치우치면 문제 해결이 어려움.
충분하고 다양한 데이터 확보는 기계학습으로 해결 가능성이 높다.
데이터의 편향을 줄이는 게 정확한 문제 해결의 핵심이다.
기계학습으로 저출산 문제를 해결한다고 가정했을 때, 사회적, 경제적 요인이 복합적으로 작용해 발생했기 때문에 인공지능의 학습에 필요한 우수한 품질의 데이터를 적절히 확보하기 어렵다. 또한 요인이 다양해 현재 상태와 목표, 핵심 요소 파악이 어렵다. 따라서 인공지능 모델 생성 자체가 어려워 지기에, 해결 가능성이 낮다.
데이터 선정 및 수집하기
데이터 선정하기
데이터 선정 시 고려 사항
문제 적합성, 수집 가능성, 정보 보호, 데이터의 품질, 데이터 수집 비용
데이터 수집하기
수집 시 고려 사항
기계학습을 위해 충분한 양의 데이터인가?
편향되지 않은 데이터인가?
필요한 속성에 대한 내용을 담고 있는 데이터인가?
4.신뢰 가능한 최신의 데이터인가?
데이터셋: 주제별로 모은 데이터의 집합
데이터 분석가들이 분석을 위해 가공한 데이터들을 데이터 포털 등의 사이트에 업로드하면 그것을 내려받아 활용할 수 있음. 개인이 만들어 공유한 데이터뿐만 아니라 여러 기업이나 공공 기관에서 제공하는 데이터를 활용할 수도 있음. 기업이나 공공 기관에서는 데이터셋을 파 일 또는 API(Application Programming Interface) 형태로 만들어 공공 데이터로 제공하기도 함. 이렇듯 제공된 데이터를 활용할 때 원 저작권을 침해하지 않도록 주의해야 함.
딥러닝의 이해와 활용
인공신경망과 퍼셉트론
뉴런: 신경계를 이루는 구조적, 기능적 기본 단위인 신경 세포를 말함.
인공신경망: 인간의 신경망 구조를 모방하여 컴퓨터로 처리할 수 있도록 구현한 것.
퍼셉트론: 인공신경망을 실제로 구현한 연산 장치로서, 여러 개의 입력값을 처리하여 하나의 결괏값인 0 또는 1을 출력하는 인공신경망의 가장 작은 단위이며, 입력층 1개와 출력층 1개로 이루어진 구조를 단층 퍼셉트론이라고 함.
단층 퍼셉트론은 복잡한 문제를 처리하지 못하는 한계를 드러냄. -> 이를 해결하기 위한 은닉층 탄생.
입력층, 은닉층, 출력층의 구조를 갖춘 인공신경망 -> 다층 퍼셉트론
딥러닝의 개념
딥러닝: 여러 개의 은닉층을 포함해 만든
심층 신경망울 통해 학습이 이루어지는
기계학습의 한 방법이다.
심층 신경망은 다수의 은닉층을 통해 복잡하고 많은 데이터를 정교하게 처리 가능.
입력층을 거쳐 출력층으로 연속적인 연산이 이루어짐.
은닉층의 개수를 늘려 층을 깊게 설계할수록 더 복잡한 문제를 해결할 수 있지만, 층이 깊을수록 계산량이 많아져 학습 시간이 오래 걸리고, 과대 적합이 발생할 수도 있음.
딥러닝의 학습 원리
딥러닝에서 '학습한다'라는 것은
가중치와 편향을 찾아가는 과정을 의미하며,
학습의 최종 목표는 최적의 가중치와 편향을 찾는 것임.
최적의 가중치와 편향이란 손실함수의 최솟값으로 기울기가 0인 지점을 의미.
활성화 함수: 따뜻한 정도를 감지한 후 발을 뗄지 말지를 결정하는 역할을 딥러닝에선 활성화 함수가 담당.
손실함수: 훈련 데이터를 잘 학습했는지 파악하는 함수로, 예측값과 실제값(정답)과의 차이를 구분하는 함수.
손실함수의 값 = 예측값 - 실젯값
차이가 작을수록 학습이 잘된 좋은 모델이다.
차이가 크면 최적화를 통해 다시 학습시킨다.
최적화: 손실함수의 값이 최소가 되도록 가중치와 편향을 갱신하는 과정을 의미하며, 오차 역전파를 통해 이루어짐.
경사 하강법은 무작위로 설정된 초기 가중치의 값을 수정하며 아래 방향으로 일정 거리인 학습률 만큼씩 이동함. 기울기가 0이 될 때까지 학습을 거듭해 가중치와 편향을 수정하는 것임.
학습할 때마다 전체 데이터의 기울기를 구하여 속도가 느리고 계산량이 많다는 단점이 있음.
확률적 경사 하강법: 일부 데이터만을 무작위로 추출하여 가중치를 갱신하는 방법으로 기존 경사 하강법의 속도를 개선한 최적화 기법.
손실함수 그래프
손실함수의 일부만을 그려 2차원의 곡선으로 표현하는 경우가 많지만, 실제로는 기울기가 0인 지점이 여러 군데 존재할 수 있음. 상대적으로 낮은 최저점을 글로벌이라 하고, 나머지 최저점을 로컬이라 함.
검증 데이터: 학습하는 중간에 모델의 성능을 평가하기 위해 활용되며, 이 과정은 최종 평가 전에 치르는 일종의 모의 평가에 비유할 수 있음.
검증 데이터 딥러닝의 학습 과정은 크게 학습 단계와 평가 단계로 나눌 수 있는데, 이때 훈련 데이터의 일부를 검증 데이터로 활용할 수 있음.
딥러닝의 활용 분야
비정형 데이터를 다룰 때 좋은 성능을 내고 있음.
실생활에서 활용되는 사례: 합성곱 신경망, 컴퓨터 비전, 순환 신경망(음성 인식 및 자연어 처리), 의료, 금융, 쇼핑, 농업, 작곡, 그림 그리기, 소설 등
컴퓨터 비전
개념: 사람이 눈으로 사물을 보고 인식하는 것처럼
컴퓨터의 활용을 통해 정지 영상이나 동영상을
분석하여 의미 있는 정보를 추출하는 기술.
자율주행 자동차를 구현하는 핵심 기술 중 하나
합성곱 신경망: 동물의 시각 인지 과정을 모방한
인공신경망 모형 중 하나로, 사물의 탐지 등 이미지 처리에
높은 성능을 보여줌.
크게 합성곱 계층과 풀링 계층으로 구성되며,
두 계층을 반복하여 학습을 진행하면서
이미지의 특성을 추출한다.
합성곱 계층에서는 도장을 찍듯이
필터를 적용하여 이미지의 특성을 추출한다.
풀링 계층에서 그 특성을 잘 드러내는 값을 선택하는 과정을 반복하여 이미지를 인식하게 됨.
심층 신경망과 합성곱 신경망의 특징 비교
심층 신경망
2차원의 입력 데이터를 1차원 배열의 형태로 변환한다.
2차원 평면에서 갖고 있던 이미지의 생김새 정보를 잃게 된다.
합성곱 신경망
형태의 변환 없이 2차원의 입력 데이터를 사용한다.
인간의 뇌가 사물을 구별하듯 생김새의 정보 그대로 사물을 학습한다.
음성 인식과 자연어 처리
음성은 인간과 인공지능과의 상호 작용에 있어
가장 보편적이고 편리한 정보 전달 수단이기 때문에
음성 인식 기술은 매우 중요한 분야로 연구가 이루어지고 있음.
음성을 텍스트로 변환하는 음성 인식 기술
텍스트를 분석하여 그 의미를 파악하는 자연어 처리 기술
음성 인식을 위한 잡음 제거 및 소리 보정 기술
음성을 텍스트로 변환하는 기술
등이 포함됨.
음성 인식과 자연어 처리 시스템의 동작 원리
음성 입력
음성 인식
음성 신호: 잡음을 제거
부호화: 입력된 데이터를 일정 구간으로 나눠 숫자로 변환
특징 추출: 숫자에서 특징되는 자음, 모음 등의 음소를 추출
패턴 비교: 기존 데이터와 비교 및 맞춤법 점검 등을 통해 텍스트 데이터로 변환
-인식: '오늘 날씨를 알려 줘'를 정확하게 인식
자연어 처리
형태소 분석
구문 분석
의미 분석
담화, 의도 분석
예시: 인공지능 비서, 기계 번역 소프트웨어, 감성 분석
명령 수행 및 상호 작용
음성 인식과 자연어 처리 분야에 사용되는
대표적인 딥러닝 알고리즘은 순환 신경망이다.
순환 신경망은 데이터 간의 관계나 순서가 중요한
순차적인 데이터를 입력받아 결과를 도출하는 딥러닝 모델로,
자연어 처리나 시간에 따라 변화하는 시계열 데이터
등을 처리하는 게 주로 사용됨.
시계열 데이터: 시간의 흐름에 따라 순차적으로 기록된 데이터를 말함. 이러한 시계열 데이터를 분석하여 미래를 예측하는 문제는 주변에서 흔히 접할 수 있는 데, 주요 경제 지표나 상품의 수요를 예측하는 문제에 이르기까지 다양함.
다음 층으로 이어지는 중간 출력을 은닉 상태라고 하는데, 데이터의 중간 결과를 기억할 수 있음.
데이터의 중간 결과를 기억하는 특징 때문에 순환 신경망은 오른쪽 예시처럼 이전 입력값이 고려된 현재의 입력값에 따라 출력값을 결정함.
따라서 순환 신경망은 문장을 모두 읽고 최종적으로 감정을 도출하는 문제에 상당히 적합한 구조임.
데이터 전처리와 핵심 속성 추출
데이터 전처리하기
데이터 전처리 개념
결측치와 이상치의 유무를 파악하고 문제 해결에 필요한 속성이 무엇인지 선별한 다음 문제 해결에 적합한 형태로 데이터를 가공하는 과정
데이터 전처리를 통해 가공된 데이터를 사용하면 기계학습의 분석 결과를 왜곡시키거나 성능을 떨어뜨리는 것을 방지할 수 있음.
결측치 (누락된 값), 이상치 (데이터 범위보다 지나치게 높거나 낮은 수치의 값)
결측치 처리하기
결측치는 기계학습 모델에 부정적인 영향을 미칠 수 있으므로 결측치가 있는지 확인하고 처리해야 한다.
처리하는 방법
결측치가 있는 행이나 열을 삭제하는 방법과 평균, 중앙값, 최빈값 등의 대푯값으로 결측치를 대체하는 방법이 있음.
행이나 열을 삭제할 때는 데이터의 손실이 크지 않은지, 삭제된 행이나 열이 꼭 필요한 데이터인지 따져보고 신중하게 적용해야 한다.
이상치 처리하기
이상치가 데이터에 존재하면 분석 결과가 왜곡될 수 있으므로, 이를 적절히 처리해야 함.
처리 방법
정상 범위 기준을 정해야 함. 이때 가장 많이 사용되는 방법은 데이터를 시각회 하여 속성들의 분포를 살펴보는 것이다.
데이터를 삭제할 때는 데이터 분석의 모든 맥락을 고려한 후 신중하게 결정해야 하며, 데이터가 충분하지 않다면 적합한 값으로 대체해야 한다.
예시: 승선 요금 속성의 IQR을 이용하여 최댓값(Q3)과 최솟값(Q1) 사이의 값들로 평균을 구한 후, 이 값으로 이상치를 수정할 수 있다.
핵심 속성 추출하기
데이터: 관찰이나 실험을 통해 수집되는 값들을 의미하며, 하나의 데이터는 여러 개의 속성으로 구성되어 있음.
데이터 속성: 데이터를 설명하는 특징이나 성질.
속성값: 각 속성이 가질 수 있는 값으로 숫자나 텍스트 등으로 나타냄.
핵심 속성: 문제 해결에 필요한 속성
학생 데이터는 나이, 성별, 출생지, 내신 성적, 학업 태도 총 5개의 속성으로 이루어져 있음.
핵심 속성이 부족하다면? 추가 자료를 수집햐야 함.
예시: 대학 합격 예측 → 내신 성적, 학업 태도는 필요하지만 성별과 출생지, 나이는 불필요.
히트맵으로 핵심 속성 추출하기
히트맵: 상관 관계를 시각화한 그래프로 색을 이용해 배열을 나타냄.
속성 간의 상관계수를 분석한 후 그 값을 히트맵으로 나타내면 해결하고자 하는 문제와 관련 깊은 핵심 속성들을 상관계수(r)로 찾아내기가 쉬워진다.
상관관계 분석
두 속성 간의 관련성을 -1.0 ~ 1.0 사이의 상관계수(r)로 설명하는 분석 방법으로 양수는 양의 상관관계, 음수는 음의 상관관계를 의미한다. 한 변수가 증가할 때 다른 변수도 증가하는 경향을 보이면 양의 상관관계, 한 변수가 증가할 때 다른 변수는 감소하는 경향을 보이면 음의 상관관계라 함.
기계학습의 유형과 알고리즘
기계학습의 유형
지도학습
입력 데이터와 그 정답에 해당하는 속성도 함께 제공되므로 학습 결과에서의 오류 여부와 성능을 쉽고 명확하게 평가할 수 있음.
훈련 데이터와 테스트 데이터를 사용.
훈련 데이터는 모델을 생성하는 데 활용.
테스트 데이터는 모델의 성능을 평가하는 데 활용.
인공지능은 훈련 데이터를 기반으로 지도학습이 끝난 후 회귀(예측)과 분류 등의 작업을 할 수 있다.
예시: 독버섯과 식용 버섯 분류, 음성 인식, 이미지 인식 등
비지도학습
정답 데이터 없이 입력 데이터만으로 이루어진 훈련 데이터를 사용하여 모델을 학습시키는 방법.
데이터를 유사한 속성에 따라 그룹으로 묶거나 패턴이나 규칙을 찾음.
숨겨진 새로운 정보를 찾고자 할 때 유용함.
예시: 동물의 특징을 분석해 비슷한 동물끼리 군집화
강화학습
판단할 때마다 외부 환경에서 보상을 제공하고, 이 보상의 값을 최대화하기 위한 방향으로 학습을 진행.
현재 상태에서 선택 가능한 행동들 중 보상이 가장 큰 경우를 선택하여 해당 방향으로 학습을 진행함.
정답이 없는 상황에서 학습하고 적응하는 과정을 따르기 때문에 지능 에이전트 학습 과정에 유용하게 활용됨.
기계학습 알고리즘의 이해
회귀(예측)
개념: 어떤 현상에 영향을 미칠 수 있는 여러 요인(속성)과 특정 결과 사이의 관계를 함수로 표현해 연속적인 수치를 예측하는 기계학습 방법.
훈련 데이터로 학습한 모델을 사용하여 새로운 입력값에 대한 수치 결과를 예측.
예시: 아이스크림 판매량 예측 (여름철 최고 기온에 따른 판매량)
회귀 모델은 훈련 데이터를 기반으로 독립 변수와 종속 변수 사이의 규칙을 파악하여 수식으로 나타내고, 학습된 규칙에 새로운 입력값을 대입하여 예측값을 얻어내는 모델임.
독립 변수는 주로 입력값을 의미하며, 종속 변수는 주로 결과값을 의미한다.
대표적 회귀 알고리즘: 선형 회귀 알고리즘
선형 회귀 알고리즘: 예측값과 실제값의 오차를 최소화하는 가설 함수를 찾고 최적화하며 학습을 진행.
데이터를 표현하는 좌표평면 위의 점들을 가장 알맞게 이어주는 추세선, 아때 직선은 y=wx+b의 형태로 표현 할 수 있는데, 이 식을 가설 함수라고 하며, 이를 가장 정확히 나타내는 w값과 b값을 찾아 수식을 만드는 것이 선형 회귀 알고리즘의 학습 과정임.
예측값과 실제값의 오차를 구하는 손실함수를 이용해 오차를 최소화 하면서 예측의 정확도를 높일 수 있음.
분류
개념: 미리 정의된 여러 범주로 데이터를 구분하기 위한 경계를 학습하여 새로운 입력이 들어오면 여러 범주 중 하나를 선택하는 과정으로, 지도학습의 한 형태. 즉, 데이터가 어떤 클래스에 속하는지를 찾는 것임.
예시: 개 vs 고양이 분류, 당뇨병 환자 여부 판단
분류는 이진 분류(두 개 클래스)와 다중 분류(세 개 이상 클래스)로 나뉨.
대표적 알고리즘: 로지스틱 회귀, K - 최근접 이웃 알고리즘
K - 최근접 이웃은 K값에 따라 분류한 결과가 달라질 수 있다는 특징이 있음.
군집
개념: 비지도학습 알고리즘의 일종으로,데이터가 어떻게 그룹화되어야 하는지 미리 정의하지 않고 컴퓨터가 데이터 패턴을 스스로 찾아내는 방식.
학습 데이터가 정답 데이터를 가지고 있지 않은 경우이기에, 입력된 데이터의 특성을 분석하여 서로 유사한 특성을 가진 데이터끼리 그룹화 함.
즉, 데이터의. 비슷한 특성을 파악하고 이에 따라 데이터를 그룹으로 묶는 것이라 할 수 있음.
군집 분석은 대표적으로 고객의 성향을 분석해 비슷한 유형끼리 군집을 만들어 군집별 상품 추천 알고리즘에 반영할 때 활용됨.
인구 밀집도를 분석해 버스 노선을 결정하거나, SNS 조회 기록을 이용해 비슷한 성향의 게시물을 추천할 때에도 사용함. 이 외에 데이터 시각화 및 지도학습을 위한 데이터의 전처리 기술로도 사용됨.
대표적 알고리즘: K - 평균(K - means) 알고리즘
이 알고리즘은 임의의 군집 중심으로부터 가까운 가리에 있는 데이터를 같은 군집으로 할당하고, 군집의 중심을 변경되지 않을 때까지 계속 바꾸며 조정하는 방식으로 군집을 형성함.