[인공지능]1. 개요

UkiUkhui·2022년 3월 19일
0

인공지능 with python

목록 보기
1/13

1. 인공지능 개념

1) 인공지능

  • 인공적으로 만든 지능
  • 머신러닝을 이용해 만들어짐

2) 머신러닝

  • 데이터를 이용해 인공지능을 만들 수 있음
  • 데이터를 이용하여 기계가 스스로 학습하는 방식 : 특정한 데이터와 그 결과를 이용해 관계를 찾아냄

3) 딥러닝

  • 인공지능을 만드는 방법 중 하나

2. 머신러닝 학습 방법

1) 지도학습(supervised learning)

  • 정답 데이터(레이블)를 가지고 학습

1️⃣ 분류(classification)

  • 레이블 개수에 따라 분류 가능함
  • 레이블의 개수 = 종류 결정
  • 특정한 값, 즉 데이터의 정답 개수(레이블의 수)에 따라 분류하는 가짓수가 결정
  • 이진분류(binary classification) : 두가지를 구분할 수 있는 분류
    • ex)스팸 메일 구분 / CT사진 속 암 구분
  • 다중분류(multiclass classification) : 여러 개 중 하나를 구별해 내는 분류
    • ex) 다양한 새 종류 / 붓꽃(iris) 종류 / 지폐의 종류

2️⃣ 회귀(regression)

  • 연속적인 값 예측
    • ex)주식 예측, 집값 예측, 물건 가격 예측
  • 특정한 값뿐 아니라 다양한 값 예측 가능
  • ex) 보스턴 집값 예측하기
방 개수범죄율고속도로 접근성...가격(label)
130.00250.5442
220.00350.7440
340.00060.9152

2) 비지도 학습(unsupervised learning)

  • 정답이 없는 데이터로 학습
  • 정답이 없는 데이터에서 스스로 패턴을 찾아 학습
  • 현실의 문제들은 보통 모범답안(레이블)이 없는 경우가 허다함
    • ex) 사진 속 인물 판단하기

1️⃣ 군집화(clustering)

  • 데이터를 여러 그룹으로 묶음
    • ex) 유튜브, 네이버 등 추천시스템
  • 데이터의 여러 특징을 살펴보고, 가장 대표적인 특징만 뽑아내는 차원 축소 가능해짐
    • ex) 상품 추천 : 소비패턴 분석하여 가장 비슷한 소비패턴을 가진 그룹과 비교하여 상품 추천

2️⃣ 차원축소 (dimensionality redution)

  • 차원 : 데이터의 특징(feature)
  • 데이터를 가장 잘 표현할 수 있는 특징을 골라 내고 데이터의 특징을 줄여줌
  • ex) 집값 예측 : 데이터 13가지(방의 개수, 범죄율, 고속도로 접근성, 편의시설, 가격 등) 중 방 개수, 범죄율, 가격으로만 특징 줄임.

3) 강화학습

  • 강화 : 시행착오를 통해 인공지능의 수준을 높임
  • 인공지능 스스로에게 보상을 주며 목표를 이루어나감

3. 딥러닝 이해하기

1) 간단 원리

1️⃣ 딥러닝과 인공 신경망

  • 딥러닝 : 사람의 뇌에서 이루어지는 원리를 이용해 인공지능 만드는 방식
  • 신경망(Neural Network) : 뇌 속의 신경세포(뉴런)
  • 인공신경망(ANN, Artificial Neural Network) : 신경망을 사람들이 인공적으로 만듦

  • 신경망의 최소 구성 단위인 뉴런이 또 다른 뉴런들과 연결된 모습을 각각의 층(레이어)라는 개념을 이용해 연결
  • Input : 데이터를 입력받는 층
  • Output : 출력층. 인공지능의 예측값이 결정됨
  • Hidden : 은닉층. 입력층에서 들어온 데이터가 여러 신호로 바뀌어서 출력층까지 전달, 여러 뉴런을 지날 때마다 신호 세기가 변경됨
  • 심층신경망(DNN, Deep Neural Network) : 깊은 층으로 구성된 인공 신경망
  • 딥러닝(Deep learning) : 심층 신경망이 학습되는 과정

2️⃣ 학습과정

  • 인공 신경망 모델이 신호를 정확한 출력값으로 보내지 않는다면, 정확한 출력값으로 보낼 수 있도록 신호 세기를 조정하는 과정
  • 성능 : 신호를 정확한 출력값으로 보내는지에 따라 결정됨

4. 인공 신경망의 신호 전달 원리

  • 각 뉴런에서 다음 뉴런으로 신호들이 전달되며 최종적으로 결과가 나타남 ➡️ 신호 전달 과정 중요함

1) 신호 전달 : 가중치와 편향

  • 신호 세기를 변경

    신호세기 : 신호값 ✖️ 가중치(weight) ➕ 편향(bias)

  • 각 뉴런과 뉴런을 연결하는 선에 가중치(w)와 편향(b)이 있음
  • 가중치 : 값의 중요도 표현
  • 편향 : 한쪽으로 치우치는 값
  • 가중치 : 각 선에 저장 ➡️ 인공신경망 층이 깊어질 수록 가중치 값은 그에 비례해서 많아짐
  • 편향 : 각 층의 하나의 값으로 저장

    인공신경망이 학습한다 = 가중치와 편향값을 각 데이터에 맞게 정교하게 맞춰 나감.

2) 활성화 함수 : 들어오는 신호 세기 조절

  • 신호 전달 방향 : 단방향
  • 신호를 받는 뉴런은 여러 개의 뉴런에 연결되어 있음.
  • 사람 신경망 : 앞쪽 뉴런에서 받은 신호를 전달할지 말지 결정함 ➡️ 역치 이용
  • 역치(actionpotiential) : 특정한 전기신호가 어떠한 값 이상 전달되었을 경우에만 신호 전달
    • 역치 값 < 신호값 : 신호 전달
    • 역치 값 > 신호값 : 신호 전달 하지 않음
  • 인공 신경망 : 활성화 함수 이용

    활성화 함수

    • 여러 뉴런에서 들어온 신호 세기를 특정한 값으로 변경
    • 레이어와 레이어 사이에 있어서 여러 뉴런에서 특정한 뉴런으로 들어가는 신호를 종합해서 하나의 값으로 바꿔줌

1️⃣ 시그모이드 함수

  • 로지스틱 함수 변형
  • 로지스틱 곡선(위 사진)
  • 시그모이드 함수도 S자 모양 : 양수값을 넣으면 출력값이 1에 가까워지지만, 음수값을 넣으면 출력값이 0에 가까워짐
    ➡️ 신호세기를 모아서 0보다 크면 1로, 0보다 작을수록 0에 수렴

2️⃣ 하이퍼볼릭탄젠트 함수

  • 쌍곡선 : 두 지점에서의 거리가 같은 곡선
  • 시그모이드 함수랑 거의 똑같이 생김
  • 입력값이 음수일 경우 -1에 가까워짐 ➡️ 출력값이 0에 가까워지면 학습을 잘 못하는 시그모이드 함수와 달리 이 한계를 뛰어넘을 수 있음

3️⃣ 렐루 함수(Rectified Linear Unit)

  • 입력값이 양수인 경우 출력값은 입력값과 같음(y=x)
  • 입력값이 음수일 때 출력값은 0

    Leaky ReLU 함수

  • 입력값이 음수일 경우 기울기가 아주 완만한 그래프 형식을 띄며, 이에 따라 미세하게 차이나는 음수 전달

4️⃣ 소프트맥스

  • 활성화 함수 아님 ➡️ 분류를 요하는 출력층에서 사용됨
  • 정규화 : 특정 범위 지정해주고 데이터를 그 범위 중 하나로 변경
    • 소프트맥스 : 최종 결과값을 정규화 함 ➡️ 모든 출력층의 값을 더했을 때 1이 되도록 만듦

5. 인공 신경망의 학습 원리

  • 인공지능의 학습 : 인공 신경망의 예측 성능을 계속 높여가는 과정
  • 특정 데이터를 넣고 출력값과 정답 비교(지도학습) ➡️ 인공지능의 출력값과 정답의 오차 비교 후 오차를 줄이는 방향으로 학습
  • 지도 학습의 분류, 회귀 문제를 통한 학습 원리 파악

1) 인공 신경망의 오차 구하기

1️⃣ 이진 분류

  • 이항 교차 엔트로피(binary crossentropy) : 잘 예측했으면 0, 그렇지 않은 경우 상당히 큰 값 부여 ➡️ 잘 예측했을 경우, 오차값은 0에 수렴, 그렇지 않은 경우, 큰 수로 수렴
  • ex) 남자, 여자 분류
    • 남자 ➡️ 남자 : 오차 0
    • 여자 ➡️ 남자 : 오차 100
    • 인공지능이 예측한 모든 값들의 오차값 구함

2️⃣ 다중분류

  • 여러 개 중 하나로 분류

    다중 분류 손실 함수(categorical crossentropy) : 정답을 예측한 경우 오차값은 0, 정답이 아닌 값을 높은 값으로 예측한 경우 오차를 많게, 정답이 아닌 값을 낮은값으로 예측한 경우 낮은 오차값 부여

  • ex) 나이대 예측하기
    • 정답 : 20대
    • 20대일 확률 : 30% ➡️ 오차 0
    • 30~40대일 확률 : 50% ➡️ 오차 300
    • 50~60대일 확률 : 20% ➡️ 오차 50
      ➡️ 30~40대일 것으로 예측

3️⃣ 회귀

  • 연속된 여러 값들 중 특정한 값 예측

    평균 제곱 오차(mean squared error) : 예측값이 실제값에서 얼마나 떨어져있는지 확인(부호를 없애기 위해 제곱)

2) 오차 줄이기

  • 오차 줄이기 : 전달하는 신호 세기 줄이기 = 가중치 값 조절

1️⃣ 경사 하강법(Gradient Descent)

  • 기울기를 사용하여 가중치 값 변경 : 기울기가 줄어드는 쪽으로 이동
  • 가중치 값에 따라 달라지는 오차 : 특정 지점 도달 시 오차가 최솟값이 됨 ➡️ 가장 오차가 작은 지점으로 가중치 이동
  • 목표 : 오차가 가장 작은 지점 a로 이동하여 기울기 0으로 만들기
  • 가중치 : b
  • b의 기울기가 a지점으로 갈수록 0으로 수렴
  • 미분 : 한 지점에서의 기울기
  • 두 지점이 점점 가까워져 한 지점에서 만난다면 기울기는 해당 지점의 기울기가 됨

    🔆기울기의 의미 : 그 다음 값 예측 가능

    • 기울기 큼 : 다음값의 변화가 크다
    • 기울기 작음 : 다음값의 변화가 작다

✅ 옵티마이저(optimizer)

  • 경사하강법을 이용하여 가중치를 얼만큼 이동할지 결정

2️⃣ 오차 역전파법(Back Propagation)

  • 경사하강법 개념을 사용하여 가중치값을 차례대로 변경
  • 뒤에서부터 앞으로 가중치 수정 : 오차 존재 시 마지막부터 처음으로 경사 하강법을 이용하여 가중치 값 수정

+)에포크(epoch)

  • 데이터를 사용하여 인공 신경망이 학습한 횟수

6. 다양한 딥러닝 기술

  • 딥러닝 : 심층 신경망을 학습시키는 기술
  • 인공신경망을 사용하는 머신러닝 알고리즘 중 하나

ex) 이미지 인식 인공지능 원리 : 숫자 인식
1) 4x4 이미지를 1x16 이미지로 변경
2) 16개의 숫자를 인공 신경망에 넣음
3) ANN 스스로 가중치와 편향을 통해 결과 도출

+) 딥러닝 학습 방법

1) 지도학습 : ANN, 순환신경망(RNN)
2) 비지도학습 : 오토인코더, 적대적 생성 신경망(GAN)
3) 강화학습 : Deep Q-network

1) 합성곱 신경망(CNN, Convolutional Neural Network)

  • 이미지 인식 기반 신경망
    ex) 필기체 인식, 차량 번호판 인식, 의료용 인공지능 개발, 물체 인식 등
  • 인간의 시각 세포 작동 원리 착안 : 전체에 대한 패턴과 부분에 대한 패턴을 인식하는 계층이 얽혀있음

  • 이미지를 특정한 영역별로 추출하여 학습
  • 추출한 데이터를 인공신경망에 넣음
  • 합성곱 연산 : 추출한 데이터를 필터와 곱함 ➡️ 어떤 영역에 어떤 특징이 있는지 추출 가능

2) 순환 신경망(RNN, Recursive Neural Network)

  • 연속된 값 예측 가능한 알고리즘
  • =재귀 신경망
  • 하나의 신경망을 계속적으로 반복해서 학습함 : 전후관계에 대한 학습이 이루어짐
    ex) 언어 번역 : 문맥 파악

  • ANN : 신경망 구성에 따라 가중치가 한 방향으로 이동하며 변화
  • RNN : 가중치 변화가 계속 자신에게로 돌아옴 ➡️ 계속 반복적으로 가중치가 수정됨

3) 생성 신경망(GAN, Generative Adversarial Network)

  • 완전히 새로운 것을 창조해냄
profile
hello world!

0개의 댓글

관련 채용 정보