본문 바로가기
인공지능

[인공지능] 인공지능에 대한 개략적인 이해

by dwoi 2023. 4. 27.

인공지능에 대해서 개괄적인 개념이나 관련 용어 정리하는 글

 

목차

     


    인공지능

    사진: Unsplash 의 Andrea De Santis

     


    인공지능(Aritficial Intelligence)

    인간의 학습능력, 추론능력, 지각능력을 인공적으로 구현한 컴퓨터 프로그램 또는 이를 포함한 컴퓨터 시스

    ◆ 강한 인공지능/약한 인공지능

    1. 보편적인 지능을 구현하는 것

    2. 특정상황, 전문적인 영역에서 문제를 해결하는 능력

    ◆ 튜링 검사(Turing Test)

    인간의 것과 동등하거나 구별할 수 없는 지능적인 행동을 보여주는 기계의 능력에 대한 테스트

    1. 컴퓨터는 인간 판별자와 자연어로 대화하고 의사 소통에 지장이 없어야 한다.

    2. 주어지는 새로운 상황에 대응할 수 있도록 지식을 표현하거나 질문에 답하고 결론을 도출하기 위한 자동추론을 수행하여야 한다.

    3. 물체를 인식하기 위한 컴퓨터 시각 능력과 물체를 조작하고 이동하기 위한 로봇 공학 능력을 보유하여야 한다.

     

    ◆ 인공지능, 기계학습, 딥러닝의 관계

    인공지능 : 사람이 구분할 수 없을 정도의 수준

    머신러닝 : 머신러닝은 인공지능(AI)의 하위 집합입니다. 학습과 개선을 위해 명시적으로 컴퓨터를 프로그래밍하는 대신, 컴퓨터가 데이터를 통해 학습하고 경험을 통해 개선하도록 훈련하는 데 중점

    딥러닝 : 컴퓨터가 인간처럼 판단하고 학습할 수 있도록 하고 이를 통해 사물이나 데이터를 군집화하거나 분류하는 데 사용하는 기술

    https://blog.naver.com/kjh920411/221889422562

    ◆ 인공 신경망

    Hidden층이 주가되면서 인공신경망이 구성되는 방향.


     

    머신러닝의 기초 개념

    ◆ 머신러닝

    데이터로부터 사람 수준의 간단한 지능을 구현하는 방법

    데이터에 사람이 생각하는 정답을 매겨서 계산하고 사람의 생각과 차이가 나는 오류를 줄여가는 방법으로 수정하고, 이러한 과정을 반복함으로써 사람의 생각과 유사하게 만드는 방법

    즉 input 데이터와 output 데이터를 집어넣고 논리를 빼오는 과정.

    장점

    • 사전 지식이나 지식을 표현할 필요가 없다.
    • 알고리즘만 적합하다면 사람보다 뛰어남
    • 고도의 수학적 지식이나 프로그래밍 능력을 요구하지 않는다.

    단점

    • 충분한 학습데이터가 확보되지 않은 경우 확보하는데 많은 시간과 비용이 든다.
    • 학습데이터의 범위를 벗어나는 패턴에 대해서는 올바른 규칙을 도출해내지 못한다. (overfitting)
    • 결과로 규칙을 제공하기 때문에 규칙을 도출하기 까지의 과정을 제시하지 않는다.

     

    ◆ 손실함수

    실제 값과 예측 값의 차이를 수치화해주는 함수

    이 함수 값을 최소화하는 과정이 머신러닝이라고 이해

    • 회귀 모델 : 평균제곱오차(MSE)
    • 분류 모델 : 크로스 엔트로피

     

    ◆ 학습 데이터

    머신러닝 모델이 학습할 데이터

    • 훈련 데이터 세트(Training Data Set) : 모델을 적합하기 위해서 사용하는 데이터 샘플
    • 검증 데이터 세트(Validation Data Set) : 모델의 하이퍼 파라메터를 미세 조정할 때 사용 (간접적인 영향)
    •  시험 데이터 세트(Test Data Set) : 최종 모델에 대해 바이어스가 없는 평가를 제공

     

    ◆ 머신러닝의 종류

    1. 지도 학습
      • 정답을 알려주면서 학습 시키는 것으로 분류(classification)와 회귀(regression)가 있음
    2. 비지도 학습
      • 정답을 따로 알려주지 않고(label 없음) 비슷한 데이터들을 군집화하는 것
    3. 강화학습
      • 분류나 정답이 따로 없고 자신이 한 행동에 대한 보상(reward)을 받으며 학습하는 것

     

    ⓐ. 지도 학습의 특징

    • 명시적인 정답이 주어진 상황에서 기계를 학습 시키기 위해 데이터와 레이블을 사용
    • 사람이 목표 값에 개입하므로 정확도가 높으나 시간이 오래 걸리고 필요 데이터 량이 많음

    지도학습 알고리즘

    구 분 알고리즘 설 명
    인공신경망
    기반
    CNN
    – 이미지 기반 특징 추출, 차원 축소를 통한 인식, 예측
    – Convolution / Pooling Layer, Feature Map, Sub Sampling
    RNN
    – 현재와 과거 데이터 고려 순차 데이터 처리 순환 신경망
    – Input / Output / Hidden Layer, Time Unfolding, BPTT, LSTM
    벡터 기반
    SVM
    – 데이터를 두 클래스 분류 위해 Margin 최대 결정직선 탐색
    – Support Vector, Margin, 초평면, 결정 직선, 커널 함수
    Regression
    – 변수 집합에서 독립/종속변수 간 상관관계를 함수로 표현
    – 독립/종속 변수, 회귀 계수, 최소 자승법, 회귀 방정식

     

    ⓑ. 비지도 학습의 특징

    • 비 정제 데이터를 입력하여 훈련데이터 없이 데이터의 특징 요약과 군집 (Clustering) 수행
    • 목표 값을 정해주지 않아도 되고 사전 학습이 필요 없으므로 속도가 빠름

    비지도학습 알고리즘

    구 분 알고리즘 설 명
    군집화
    거리기반
    군집화
    – 중심 값과의 최소거리 기반 군집 형성
    – 군집 수 선정 → 좌표 계산 → 중심 값 이동(반복)
    밀도기반
    군집화
    – 군집을 이루는 벡터 밀도 기반 군집 형성
    – 군집 벡터 수 선정 → 반경 내 군집 → 중심벡터 변경(반복)
    패턴인식
    전처리/
    특징추출
    – 표본화, 정규화, 노이즈 제거
    – 주성분 분석, 데이터 마이닝
    모델선택/
    인식
    – Bagging/Boosting, 앙상블 학습
    – 혼동 행렬, ROC Curve, AUC, FP Rate

     

    ⓒ. 강화 학습

    • 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법
    • 환경과의 상호 작용의 결과로서 학습을 하거나 경우의 수가 너무 많아 옳고 그름에 대해 사전에 명확하게 기술하기 어려운 환경에 적합한 학습방법

    ⓒ-1. 강화 학습의 특징

    • 학습 데이터 대신 보상(reward) 함수를 활용
    •  학습데이터로부터 보상 받는 게 아니라 환경으로부터 스스로 지식을 습득

    ⓒ-2 강화 학습 중요성

    • 비지도 및 지도 머신러닝과 다르게 강화학습은 정적 데이터셋에 의존하는 것이 아니라 역동적인 환경에서 동작하며 수집된 경험으로부터 학습
    • 데이터 점 또는 경험은 훈련하는 동안 환경과 소프트웨어 에이전트 간의 시행착오 상호작용을 통해 수집
    •  강화학습의 이런 점은 지도 및 비지도 머신러닝에서는 필요한 훈련 전 데이터 수집, 전처리 및 레이블 지정에 대한 필요성을 해소하기 때문에 중요
    • 실질적으로 적절한 인센티브가 주어지면 강화학습 모델은 인간의 개입 없이 학습 행동을 자체적으로 시작할 수 있다는 것을 의미

     

    활용 분야 사례

    • 고급제어
    • 자율주행
    • 로봇공학
    • 스케줄링
    • 보정

     

    ◆ 기타 학습 방법

    ⓐ. 준지도 학습

    • 목표 값(Label)이 표시된 데이터와 표시되지 않은 데이터를 모두 훈련에 사용하는 학습 방법

    특징

    • 대개의 경우 훈련 데이터는 목표 값이 포함된 데이터는 적고 포함되지 않은 데이터는 많음.
    • 준 지도 학습은 목표 값이 충분히 표시된 훈련 데이터를 사용하는 지도학습과 목표 값이 표시되지 않은 훈련 데이터를 사용하는 자율학습 사이에 위치

     

    ⓑ. 자기 지도 학습

    • 데이터 자체에서 스스로 레이블을 생성하여 학습에 이용하는 방법, 다량의 Label이 없는 Raw Data로부터 데이터 부분들의 관계를 통해 Label을 자동으로 생성하여 지도학습에 이용하는 비지도 학습 기법

     

    ⓒ. 다중 인스턴스 학습

    • 개별적 인스턴스를 학습 단위로 삼지 않고 다수의 인스턴스로 구성된 바지를 학습 단위로 설정하는 방법

     

    • 학습시 인 스턴스 집합에서 “도움이 되는” 인스턴스만을 찾아 학습 을 수행하므로 관련 없는 또는 잘못 태깅된 인스턴스들 로부터의 성능 하락을 최소화할 수 있다.

     

    ⓓ. 전이 학습

    • 특정 분야에서 학습된 신경망의 일부 능력을 유사하거나 전혀 새로운 분야에서 사용되는 신경망의 학습에 이용

    특징

    • 학습 데이터의 수가 적을때 도 효과적이며, 학습 속도도 빠름. 
    • 전이학습 없이 학습하는 것보다 훨씬 높은 정확도를 제공

     

    ⓔ. 앙상블 학습

    • 앙상블이란 단어는 조화를 의미

    → 머신러닝에서 여러 개의 모델을 조화롭게 학습시켜 하나의 더 나은 모델을 만드는 방법

    → 여러 개의 결정 트리(Decision Tree)를 결합하여 하나의 결정 트리보다 더 좋은 성능을 내는 기계 학습 기법

     

    Bagging : 하나의 모델을 사용하지만 학습 데이터셋을 랜덤하게 추출하여 모델을 각기 다르게 학습시키는 방법

    • 목적
      • 모델의 안정성과 정확성을 향상시키기 위함
    • 하나의 모델만 봤을 때는 샘플링된 적은 데이터에 대해 예측력이 높아짐
    • 여러 모델을 보면 각 모델 별 샘플링 데이터가 다르므로 예측값의 차이가 큼.

     

    Boosting : 성능이 약한 학습기(Weak learner)를 여러 개 연결하여 강한 학습기(Strong learner)를 만드는 방법이며, 이전에 학습된 모델을 보완해가면서 더 나은 모델로 만드는 과정

    • 이전 모델 오차의 크기에 비례해서 가중치를 부여

    → 오차를 잘 보완하는 방향으로 모델이 학


    데이터 관련 용어 정리

    ◆ 정형 데이터

    • 테이블과 같이 고정된 컬럼에 저장되는 데이터와 파일, 그리고 행과 열에 의해 데이터의 속성이 구별되는 스프레드시트 형태의 데이터

    종류

    • 이산형 변수 (Discrete Variable)
      • 명목형 (범주형, Categorical): 여러 Class들 중 하나의 이름에 데이터를 분류할 수 있을 때 사용
        • 예를 들어 사과, 배, 바나나 구분
      • 순서형: 데이터가 속하는 Class들에 순서가 있는 경우 순서형 (ordinal) 데이터라고 한다.
        • 예를 들어 상, 중, 하 구분
    • 연속형 변수 (Continuous Variable)
      • 실수 형태의 연속적인 값을 가지고 있는 변수를 연속형 변수라 한다.
        • 예를 들어 키나 몸무게와 같은 변수

    ◆ 비정형 데이터

    • 데이터 변수가 사전에 구조적으로 정의된 의미를 갖지 않는 데이터
    • 예를 들어 이미지는 각각의 픽셀값들이 모여서 만든 사물 형태로 구분이 된다. 

     


    방법론적인 기초 개념

    ◆ 휴리스틱이란?

    정의

    • 불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 사람들이 빠르게 사용할 수 있게 보다 용이하게 구성된 간편추론의 방법

    활용법

    • 복잡한 문제의 경우 초기에는 휴리스틱을 이용하여 과제를 단순화시킨 후 후기에 규범적(normative)인 의사결정 규칙을 사용하고, 단순한 과업 상황에서는 처음부터 최종 의사결정에 이르기까지 규범적 규칙을 이용하여 해결

    유형

    1. 기준점과 조정 휴리스틱
      • 비자가 자신이 알고 있는 수치로 임의의 기준선을 설정한 후, 적절하다고 생각하는 것에 맞게 의사결정을 내리는 방식
    2. 가용성 휴리스틱
      • 사건의 가능성을 기억의 가용성에 근거해 추정하는 방법 즉, 기억에서 잘 떠오르는 대상에 대하여 상대적으로 높은 평가를 내리는 현상
    3. 대표성 휴리스틱
      • 어떤 집합에 속하는 임의의 한 특징이 그 집합의 특성을 대표한다고 간주해 빈도와 확률을 판단하는 방법
    4. 감정 휴리스틱
      • 어떤 사건이나 상황에 대해 판단을 할 경우 경험으로 형성된 감정에 따라 평가를 다르게 하는 것

     

    ◆ 메타 휴리스틱

    정의

    • 특정 휴리스틱 구축을 위한 일반적인 구조와 전략을 안내하는 범용 알고리즘 프레임워크(framework)

    특징

    • 근사해법으로 전역 최적해나 어떤 수준 이상의 근사 최적 해의 탐색을 보장하지 못하지만 메타 휴리스틱이 여러 분야에서 복잡하고 어려운 문제를 해결하는 데 성공적인 결과

    적용 분야

    • 조합최적화, 연속최적화, 신경망 학습, 패턴인식, 데이터 마이닝, 인공지능, 화상처리, 공학 구조 최적화 등의 공학 분야 뿐만 아니라, 자연과학과 사회과학 등이 포함

    ◆ 전문가 시스템

    정의

    • 생성시스템의 하나로서, 인공지능 기술의 응용분야 중에서 가장 활발하게 응용되고 있는 분야이다. 즉 인간이 특정분야에 대하여 가지고 있는 전문적인 지식을 정리하고 표현하여 컴퓨터에 기억시킴으로써, 일반인도 전문지식을 이용할 수 있도록 하는 시스템

    특징

    1. 영구적 시스템 : 인간 전문가는 유한하지만, 전문가 시스템은 무한함
    2. 추론 시스템 : 기존의 지식 사실을 통해 새로운 사실을 추론 가능

    구성요소

    구성요소 내 용 비 고
    설명모듈 전문가시스템이 내는 결론에 대해 설명
    기존 시스템과의 핵심 차별점
    추론엔진 지식기반으로 정보를 추론하여 전달
    정방향 추론, 역방향 추론
    지식획득
    시스템
    전문가와의 인터뷰나 문헌자료 등을 수집하고, 정
    자동지식습득으로 변화
    지식베이스 도메인과 관련된 문제, 절차 및 고유 데이터를 해
    결하기 위한 규칙으로 구성
    if-then-else 규칙
    사용자
    인터페이스
    전문가가 아닌 사용자가 사용하기 위한 I/F
    시스템과 상호 작용하여 해결책 모색
    가능

    장점

    • 자연스런 지식 표현
    • 통일된 구조
    • 지식과 과정의 분리
    • 불완전하고 불확실한 지식 다루기

    단점

    • 규칙간의 불분명한 관계
    • 비효율적인 탐색 전략 (추론 엔진의 규칙 탐색)
    • 학습할 수 없다.(경험을 통한 학습 불가)

    ◆ 사례 기반 추론 (Case Based Reasoning - CBR)

    • 과거에 있었던 사례(케이스)들의 결과를 바탕으로 새로운 사례의 결과를 예측하는 기법

    추론 방법

    1. 사례 표현
      • 도메인에 맞는 사례를 표현하는 단계. 
      • 즉 Case를 어떠한 attribute로 표현하냐에 따라서 시스템의 성능이 좌우
    2. 사례 검색
      • 현재 Case와 사례 DB에 저장되어 있는 history Case와의 유사도 함수에 따른 비교를 통해 유사한 사례를 검색하는 단계
    3. 사례 적합화
      • 과거에 일어난 문제와 완전히 동일한 문제가 아닌 이상 문제를 해결하는 데에는 정답의 변화가 필요. CBR 시스템에서는 도메인에 따라 시스템에서 정의한 에 따라 최적화가 필요
    4. 사례 평가
      • CBR 시스템이 제공한 정답의 평가를 하는 단계
    5. 사례 저장
      • 평가 결과에 따라 새로운 Case로의 저장을 하는 단계. 저장을 통해 진화가 가능

    장점

    • 인간의 문제 해결 방식과 유사하기 때문에 그 결과를 이해하기 쉬움
    • 새로운 사례를 단순히 저장하는 것만으로도 추가적인 작업 없이 학습 진행
    • 사례기반추론 모델은 구조가 단단하고 이해가 용이
    • 수치형 번수와 범주형 변수가 모두 사용 가능
    • 복잡한 문제를 비교적 적은 정보로 의사결정, 문제 해결 가능

    단점

    • 전통적인 사례기반추론의 경우, 타 인공지능 기법또는 데이터 마이닝 기법에 비해 정확도가 상대적으로 크게 떨어짐
    • 사례를 저장하기 위한 공간이 많이 필요
    • 일반화를 위한 학습과정과 해결이 동시에 일어나기때문에 많은 시간이 소요
    • 사례를 설명하고 있는 속성이 적절하지 못한 경우 성능이 크게 저하

     


    이미지 분류, 음성 인식

    ◆ 이미지 분류

    정의

    • 이미지가 주어졌을 때 해당 이미지가 속하는 클래스를 찾아주는 것

    이미지 데이터 구성

    위와 같이 구성되어 있는 이미지 데이터를 인공신경망 기반으로 분류해나가는 과정.

     

     

    ◆ 음성 인식

    정의

    • 사람이 말하는 음성 언어를 컴퓨터가 해석해 그 내용을 문자 데이터로 전환하는 처리하는 방법, Speech to Text

    절차

     

    1. 전처리 : 변환 및 특징 추출 청각 시스템에서와 같이 음성 신호로부터 시간 및 주파수 영역의 특징을 추출해 내는 과정
    2. 패턴 인식 : 특징으로부터 결과값 산출 음성 신호의 전처리를 통해 얻어낸 특징을 바탕으로, 문장을 구성하는데 필요한 원소인 음소, 음절, 단어를 인식해내는 역할
    3. 후처리 : 언어처리(문장복원) 패턴 인식후 결과인 음소, 음절, 단어를 재구성해서 문장을 복원

    알고리즘

    • STT의 성능은 DB 크기와 품질에 비례하여 향상. 상용 서비스에 적용되는 음향 모델의 대부분 확률 통계 방식인 HMM(Hidden Markov Model) 기반으로 이루어졌으며, 2010년대 들어서면서 딥러닝을 결합한 HMM/DNN 방식으로 단어 인식 오류를 개선하여 20%의 성능 향상

    자연어 처리, 컴퓨터 비전

    ◆ 자연어 처리

    정의

    • 사람들이 사용하는 자연어로 구성된 텍스트로부터 컴퓨터가 의미를 이해하고 텍스트에 포함된 정보를 추출 및 분류하는 것
    • 더 나아가 직접 텍스트를 자연어 형태로 생성하는 기술을 포함

    종류

    • 워드 클라우드
      • 텍스트를 분석하여 사람들의 관심사, 키워드, 개념 등을 파악할 수 있도록 빈도수를 단순히 카운트하여 시각화

    • 토픽 모델링
      • 단어 또는 말뭉치(corpus)로부터 숨겨진 주제를 찾고 키워드 별로 주제를 묶어 주는 비지도 학습 및 확률 알고리즘

     임베이딩

    정의

    • 자연어 처리를 위해서는 텍스트를 컴퓨터가 이해할 수 있도록 단어를 0과 1의 수치로 표현. 
    • 벡터화(vectorization) 또는 임베딩(embedding)

    통계적 기반

    • TDM(Term-Document Matrix)
      • 단어-문서행렬이라고 부르며 문서에서 등장하는 단어들의 빈도를 행렬로 표현
    • TF-IDF(Term Frequency-Inverse Document Frequency)
      • 특정 단어가 얼마나 중요한 역할을 하는 것인지를 나타내는 통계적 수치
    • One-hot Encoding
      • 문자를 숫자로 표현하는 가장 기본적인 방법으로 해당 단어의 컬럼 위치에만 ‘1’로 구분

    ◆ 컴퓨터 비전

    정의

    • 컴퓨터를 이용하여 정지된 영상 또는 동영상으로 부터 의미 있는 정보를 추출하는 기술

    기술환경

    • Open CV
      • Open Source Computer Vision library의 약자로 컴퓨터 비전을 지원하는 라이브러리
      • 기계학습을 비롯한 약 2,500여 개의 알고리즘, 수학 연산 비디오 캡처, 이미지 처리를 수행
    • Auto Labeling
      • 영상 학습 데이터를 구축할 때 자동화, 관리 기능을 지원하는 도구

     


    마무리

    마무리

     

     

     

     

     

    토픽

     

    댓글