Please enable JavaScript.
Coggle requires JavaScript to display documents.
2.인공지능과 학습(1508 김현진) - Coggle Diagram
2.인공지능과 학습(1508 김현진)
- 기계학습을 활용한 문제해결
- 딥러닝의 이해와 활용
인공지능을 활용하여 문제 해결하기 위해서는 해결 하고자하는 문제를 명확하게 정의하고 그에 맞는 데이터로 선정하고 수집해야 한다. 또한 그에 적합한 기계 학습 유형과 알고리즘을 선정해 학습의 활용 해야 한다.
-
인공신경망은 안간의 신경망 구조를 모방하여 컴퓨터로 처리할 수 있도록 구현한 것이다. 퍼셉트론은 이러한 인공신경망을 실제로 구현한 연산 장치로서 여러개의 입력값을 처리하여 하나의 결괏값인 0또는 1을 출력하는 인공신경망의 가장 작은 단위이다. 퍼셉트론은 뉴런의 수상 돌기와 같이 데이터를 입력받고 신경 세포체처럼 입력 받은 데이터를 처리하여 마지막 축삭 돌기에서 다른 누런으로 전기 신호를 보내듯이 데이터를 출력한다. 퍼셉트론은 노드 또는 인공뉴런이라고도 불린다. 하지만 단층 퍼셉트론은 복잡한 문제를 처리하지 못하는 한계를 드러냈고 이를 해결하기 위해 은닉층을 새로 만들게 되었다. 입력층, 은닉층, 출력층의 구조를 갖춘 인공신경망을 다층 퍼셉트론이라고도 부른다.
딥러닝은 여러개ㅐ의 은닉층을 포함하여 만든 심층 신경망을 통해 학습이 이루어지는 기계학습의 한 방법이다. 층이 깊다는 의미의 심충 신경망은 다수의 은닉층을 통해 복잡하고 많은 데이터를 정교하게 처리할 수 있다. 딥러닝에서 입력에서 은닉층을 거쳐 출력층으로 연속적인 연산이 이루어진다. 은닉층의 개수를 늘려 틍을 깊게 설계할수록 더 복잡한 문제를 해결할 수 있지만 층이 깊을수록 게산량이 많아져 학습 시간이 오래 걸리고 과대적합이 발생할 수도 있다 따라서 해결하고자하는 문재애 맞개 적절한 층을 설계하는 것이 중요하다
딥러닝에서 학습한라는 것은 가중치와 편향을 찾아가는ㄴ 과정을 의미하며 헉숩의 최종 목표는 최적이 가중치와 편향을 찾는 것이다 뉴런에서는 다른 뉴런으로 전달되는 신호는 정보의 중요도에 따라달라지는데 이때 중요한 정보는 높은 가중치를 곱하여 소멸시킨다 그리고 원하는 결과가 잘 나오도록 편향을 더하여 약간의 조정을 한다 여기서 최적의 가중치와 편향이란 솔실함수이 최솟값으로 기울기가 0인 지점을 의미한다.
손실함수란 훈련데이터가 잘 학습했는지 파악하는 함수로 예측값과 실젯값과의 차이를 구하는 함수이다 예측값과 실젯값이 일치할수록 손실함수의 값이 작아지므로 손실함수의 값이 작을수록 학습이 자된 좋은 모델이라 할 수 있다 최적화란 손실함수의 값이 초소가 되도록 가중치와 편향을 갱신하는 과정을 의미하며 오차 역전파를 통해 이루어진다 가장 대표적인 최적화 방법으로 경사 하강법이 있다 경사하강법은 무작위로 설정된 초기 가중치의 값을 수정하며 아래 방향으로 일정거리인 학습률 만큼씩 이동한다. 그런데 경사 하강벙은 학습할 때마다 전체 데이터의 기울기를 구하여 속도가 느리고 계산량이 많다는 단점이 있다. 이러한 경사 하강법의 단점을 보완하여 속도가 빠르고 대체로 더 좋은 성능을 보여 주는 최적화 알고리즘으로는 확률적 경사하강법, 미니 배치 경사 하강법, 모멘텀, 아담 등이 있다.
실샐활 속에서 딥러닝이 활용되는 사례로는 합성곱 신경망을 이용한 컴퓨터 비전, 순환 신경망을 이용한 음성 인식 및 자연어 처리 등이 있다
컴퓨터 비전은 사람이 눈으로 사물을 보고 인식하는 것처럼 컴퓨터의 활용을 토해 정지 영상이나 동영상을 분석하여 의미 있는 정보를 추출하는 기술이다 컴퓨터 비전은 의료, 금융, 쇼핑, 등의 다양하 산업에서 활용되는 것은 물론 자율주행자동차를 구연하는 핵심 기술이다.
-
-
합성곱 신경말은 크게 합성곱 계층과 풀린 계층으로 구성되며 두 계층을 반복하여 학습을 진행하면서 이미지의 특성을 추출한다 합성곱 계층에서는 마치 도장을 찍듯이 필터를 적용하여 이미지의 특성을 추출한다. 합성곱 계층 연산이 끝나면 풀린 계층에서 그 특성을 잘 드러내는 값을 선택하는 과정을 반복하며 이미지를 인식하게 된다.
-
음성 인식과 자연아 처리는 사람이 사용하는 언어를 컴퓨터가 처리하기 위한 기술을 연구한 분야다. 음성은 인간과 인공지능과의 상호 작용에 있어서 가장 보편적이고 편리한 정보 전달 수단이기 때문에 음성 인식 기술은 매우 중요한 분야로 연구가 활발하 이루어지고 있다.
음성을 텍스트로 변환하는 음성 인식 기술과 변환된 텍스트를 분석하여 그 의미를 파악하는 자연아 처리 기술, 음성 인식을 위한 잡은 제가 및 소리 보정 기술, 음성을 텍스트로 변환하는 기술 등이 포함된다. 예를 들어 인공지능 스피커에게 날씨를 물으면 음성 인식과 자연어 처리 시스템은 다음과 같아 동작한다.
음성 인식과 자연어 처리 분야에 사용되는 대표적인 딥러닝 알고리즘은 순환 신경 망이다. 순환 신경망은 데이터 간의 관계나 순서가 중요한 순차적인 데이터를 입력받아 결과를 도출하는 딥러닝 모델로, 자연어 처리나 시간에 따라 변화하는 시계 열 데이터등을 처리하는 데 주로 사용된다.순환 신경망의 구조는 점 신경망의 구조와 기본 흐름은 유사하다. 다음 총으로 이어지는 중간 출력을 은닉 상태라고 하는데, 데이터의 중간 결과를 기억할 수 있다.데이터의 중간 결과를 기억하는 특징 때문에 순환 신경망은 오른쪽 예시처럼 이전 입력값이 고려된 현재의 입력값에 따라 출력값을 결정한다. 따라서 순환 신경망은 문장을 모두 읽고 최종적으로 감정을 도출하는 문제에 상당히 적합한 구조이다.
전통적인 프로그래밍은 ㄱ라는 입력에 ㄴ라는 규칙을 적용해 ㄷ를 출력한다는 것을 사람이 작성하는 데 비해 기계학습은 ㄱ라는 데이터가 입력될 때 결과가 ㄷ가 되는 규칙 ㄴ를 기계가 찾을 수 있도록 학습시킨다.
-
기계학습을 이용하여 문제를 해결하는 과정은 우선 인공지능은 입력받은 훈련 데이터를 바탕으로 학습하고 규칙을 발견해 기계학습 모델을 만든다. 학습된 기계학습 모델에 문제 해결을 위해 사용할 데이터를 적용하면 결괏값이 출력된다.
기계학습을 이용하여 문제를 해결하기 위해서는 문제 상태를 정확히 파악하고 정의할 수 있어야 한다. 주어진 상황의 현재 상태와 목표 상태가 무엇인지 활용해야하는 핵심요소는 무엇인지 등을 정확히 분서해야 문제 해결 방향을 명확히 설정할 수 있으므로 문제 정의 단계는 매우 중요하다.
인공지능은 훈련데이터를 바탕으로 학습하기 때문에 대용형으 품질 좋은 훈련 데이터가 필요하다. 만약 훈련데이터의 질이 좋지 않거나 질이 좋더라도 데이터의 양이 충분하지 않으면 기계학습 모델의 성능이 높지 않은 것이다 또한 수집한 훈련데이터가 편향을 띤다면 이 데이터를 이용한 학습 결과도 정확하지 않은 것이댜.
과거 구입 이력, 최근 클릭한 상품 목록 등의 데이터가 충분히 있고 이 외에도 물건을 고르는 규칙을 발견할 수 있는 데이터들이 충분히 있다면 이전 기록을 바탕으로 자동으로 상품을 추천하는 시스템을 만들자는 문제는 기계학습으로 해결할 가능성이 높은 문제라고 할 수 있다.
기계학습을 이용해 우리나라의 저출산 문제를 해결한다고 가정해 보자 저출산 문제는 다양한 사회적 경제적 요인이 복합적으로 작용해 발생하기 때문에 인공지능의 학습에 필요한 우수한 품질의 데이터를 적절히 확보하기 어렵다 또한 다양한 요인이 섞여 있기 때문에 현재 상태와 목표 상태 핵심요가 무엇인지 파악하기가 어렵가 결국 인공지능 모델을 생성하기도 어려워지기 때문에 인공지능으로 해결할 가능성이 낮다.
데이터를 이루는 데이터 속성은 기계학습에 매우 중요한 역할을 한다 데아터를 선정할 때의 고려사항은 기계학습을 위한 데이터를 선정할 때에는 우리가 해결하고자 하는 문제와 관련 있는 데이터인지 확인해야한다 또한 데이터의 수집 가능성, 정보 보호. 데이터의 품질, 데이터 수집 비용등의 요인을 고려하여 조건에 부합하는 데이터를 선정해야한다.
데이터를 수집하기 위해서는 기계학습을 위해 충분한 양의 데이터인지, 편향되지 않은 데이터인지, 필요한 속서엥 대한 내용을 담고 있는 데이터인지, 신뢰 가능한 최신의 데이터인지 고려해야한다
데이터 분석가들이 분석을 위해 가공한 데이터들을 데이터 포털 등의 사이트에 업로드하면 그것을 내려받아 활용할 수 있다. 데이터 포털등의 인터넷에서 원하는 내용을 수집하기 어렵다면 직접 데이터를 수집 할 수도 있다.
-
기계 학습 데이터를 활용한 방식에 따라 지도학습 ,비지도 학습강화 학습으로 구별 할 수 있다. 데이터를 이용하여 학습 할 때 사전에 정답이 있는 데이터를 활용하여 학습하는 것을 지도학습이라고 하며 정답을 알려주지 않고 데이터 하는 제시하여 학습하는 방법을 비지도학습이라한다. 이외 강화학습은 답을 직접 알려주지 않고 컴퓨터가 제시한 답 안에 대해 보상을 다르게 줌으로써 정답에 가까워지도록 하는 방법 으로 행동을 할때마다 외부 환경이 주어지는 보상이 최대치가 되도록 학습한다
학습 유형에 따라를 실제적으로 구현하는 절차는 방법을 기계 학습 알고리즘 이라고 한다. 기계학습을 알고리즘은 대표적으로 지도 학습에 해당하는 회귀, 분류 알고리즘이 있으며 지도 학습에는 군집
알고리즘 등이 있다.
지도학습은 입력 데이터와 정답 데이터를 함께 사용하여 기계학습 모델을 학습시키는 방법이다. 입력 데이터와 그 정답 에 해당하는 속성도 함께 제공되므로 학습 결과에서의 오류 여부와 성능을 쉽고 명확하게 평가할 수 있다 지도 학습에서는 훈련 데이터와 테스트 데이터를 사용한다. 훈련 데이터는 학습 모델의 만들기 위해 사용되면 테스트 데이터는 모델 성능 평가를 위해 사용된다. 인공지능은 훈련 데이터를 기반으로 지도 학습이 끝난 후 회귀(예측)와 분류 등의 작업을 할 수 있다
비지도학습은 정답 데이터 없이 입력된 데이터만으로 이루어진 훈련 데이터를 사용하여 모델을 학습시키는 방법이다. 데이터를 입력하면 컴퓨터는 자체적인 방식으로 데이터를 유사한 속성 값을 갖는 그룹으로 묶는다. 정답 데이터가 주어지기 때문에 컴퓨터의 입력 데이터의 특징을 분석하여 패턴이나 특정 규칙을 찾아내야한다. 비지도학습은 훈련 데이터의 숨겨진 새로운 정보를 찾고자할때 유용하다 또한 고차원 데이터의 복잡성을 낮추어 특징을 추출하는 차원 축소, 서로 비슷한 특징을 가진 데이터끼리 그룹화하는 군집, 이상치를 팀색하는 이상 탐지 등의 작업의 활용된다.
강화학습은 판단할때 마다 외부 환경에서 보상을 제공하고 이 보상의 값을 최대화하기 위한 방향으로 학습을 진행한다. 사람이 상을 받으면 특정 행동을 더 늘리고 벌을 받으면 특정 행동을 줄이는 것과 같이 현재 상태에서 선택 가능한 행동들 중 보상이 가장 큰 경우를 선택하여 해당 방향으로 학습의 진행한다. 강 학습을 사전에 환경에 대한 명확한 정답이 없는 상황에서 학습을 적응하는 과정을 따르기 때문에 지능 에이전트 학습 과정에 유용하게 활용된다. 또한 소비 패턴 분석을 통한 마케팅 전략 수립 등 최적화 문제의 주로 활용되고 있다.
회귀(예측)는 어떤 현상에 영향을 미칠 수 있는 여러 요인과 특정 결과과 사이에 관계를 함수로 표현의 연속적인 수치를 예측하는 기계 학습 방법이다. 즉 훈련 데이터로 학습한 모델을 사용하여 새로운 입력값의 대한 수치 결과를 예측하는 것이다. 회귀 모델을 훈련, 데이터를 기반으로 독립 변수와, 종속 변수 사이에 규칙을 파악하여 수식으로 나타내고 학습된 규칙에 새로운 입력 값응 대입하여 예측값을 얻어내는 모델이다 독립 변수는 주로 입력값을 의미하며 종속변수는 주로 결괏값을 의미한다. 회귀 데이터를 만들때 사용하는 대표적인 알고리즘으로 선형 회귀 알고리즘이 있다.
분류는 미리 정의된 여러 범주로 데이터를 구분 하기 위해 경계를 학습하여 새로운 입력이 들어오면 여러 범주 중 하나를 선택하는 것으로 지도의 한 형태이다. 즉 데이터가 어떤 클래스에 속하는지 찾아내는 것이다. 분류를 이용한 기계학습은 주로 이진분류와 다중 분류로 나뉜다 이진분류는 주어진 데이터를 두개의 클래스로 분류하는 것이고 다중분류는 주어진 데이터를 3개 이상의 클래스로 분류하는 것이다.
군집은 비지도학습의 일종으로 데이터가 어떻게 그룹화 되어야 하는지 미리 정리 하지않고 컴퓨터가 데이터 패턴을 스스로 찾아내는 방식이다. 군집 학습 데이터가 정답을 가지고 있지 않은 경우이므로 입력 된 데이터의 특성을 분석하여 서로 유사한 특성을 가진 데이터기를 그룹화한다. 즉 데이터의 비슷한 특성을 파악하고 이에 따라 데이터를 그룹으로 묶는 것이라고 할 수 있다. 군집 모델을 만들 때 사용하는 대표적인 군집 알고리즘에는 K-평균 알고리즘이 있다. 이 알고리즘은 이 미 군집 중심으로부터 가까운 거리에있는 데이터를 같은 군집으로 할당하고 군집의 중심을 방영되지 않을 때까지 계속 바꾸며 조정하는 방식으로 군집을 형성한다.