2021 NIPA AI 교육 14

[2021 NIPA AI 교육 - 응용 / 딥러닝] 03 다양한 신경망(이미지, 자연어 처리 CNN, RNN)

오늘은 다양한 신경망에 대해 배워보겠다. 다양한 신경망에서는 이미지 처리와 자연어 처리에 대해서 배울 것이다. 첫 번째로 이미지 처리를 위한 데이터 전 처리에 대해 배워보겠다. 우리 주변에는 위와 같은 이미지 처리 기술들이 있다. 이 기술들안에 딥러닝 기술이 포함되어 있다. 위와 같이 고양이 사진을 받아서 이것이 고양이인지 분류를 하기 위해서는 이미지를 모델에 입력을 해야한다. 그런데 우리는 그동안 잘 정리되어있는 정형 데이터만 DataFrame의 형태로 입력을 해왔다. 하지만 이미지는 DataFrame의 형태가 아니다. 그래서 먼저 이미지를 어떻게 데이터로 사용할 수 있는지 알아보겠다. 컴퓨터는 위와 같이 이미지를 픽셀 값을 가진 숫자 배열로 인식한다. (네모 한칸이 픽셀이다. 값은 픽셀을 채워주는 색..

인공지능 공부 2021.08.30

[2021 NIPA AI 교육 - 응용 / 딥러닝] 02 텐서플로우와 신경망

오늘은 딥러닝을 어떻게 학습시키는지 방법을 배우고 텐서플로우를 바탕으로 딥러닝을 구현해보겠다. 지난 시간에 히든층이 많아지면 신경망이 더 깊어지고 이를 딥러닝이라고 한다고 했다. 이 딥러닝의 구성요소에 대해 알아보겠다. 보라색 원은 노드 또는 유닛이라고 부른다. 노드는 각 층을 구성하는 요소이다. 그리고 이 노드들을 연결하는 선을 가중치라고 얘기한다. 이 가중치는 노드 사이의 연결강도를 정한다. 마지막으로 모델을 구성하는 층을 레이어라고 한다. 이제 본격적으로 딥러닝 모델의 학습 방법에 대해 알아보겠다. 퍼셉트론, 딥러닝 둘 다 마찬가지로 최종적인 목적은 Loss 함수를 최소화하는 가중치를 찾는 것이다. 이것이 딥러닝 모델의 학습 방법이다. 이 가중치를 찾기 위해서는 최적화 알고리즘을 사용하게 되는데 뒤..

인공지능 공부 2021.08.25

[2021 NIPA AI 교육 - 응용 / 딥러닝] 01 퍼셉트론

이번 시간에는 인공 신경망으로 알려진 딥러닝의 개념을 이해하고 신경망의 가장 기본 단위인 퍼셉트론에 대해 배워보겠다. 우선 인공지능, 머신러닝, 딥러닝의 관계에 대해 확인해보고 시작하겠다. 인공지능이라는 것은 말 그대로 인공적으로 사람의 지능을 구현하는 컴퓨터 시스템을 만드는 것을 의미한다. 이러한 기술을 실현하는데는 다양한 방법론들이 있고 그 중 하나가 머신러닝이다. 이런 머신러닝 기술도 다양한 기술들이 있고 그 중 한 가지 기술이 딥러닝이라고 보면 된다. 이제 본격적으로 딥러닝이란 무엇인지 알아보도록 하겠다. 딥러닝은 인공신경망에 기반해 사람의 사고방식을 가르치는 방법이다. 여기서 인공신경망이란 생물학의 신경망에서 영감을 얻은 학습 알고리즘으로 사람의 신경 시스템을 모방했다. 사람의 신경 시스템은 뉴..

인공지능 공부 2021.08.24

[2021 NIPA AI 교육 - 응용 / 머신러닝] 04 지도 학습 - 분류

이번 시간에는 분류의 개념에 대해 알아보고 분류 모델을 사용할 의사 결정 나무에 대해서 배우고 이를 평가하는 지표에 대해 알아보겠다. 먼저 문제를 가정해보겠다. 해외 여행을 준비하고 있었다. 완벽한 여행을 위해 항공 지연을 피하고자 한다. 기상 정보 (구름 양, 풍속)를 활용하여 해당 항공의 지연 여부를 예측할 수 있을까? 이럴 때 문제 정의를 해보면 아래와 같다. 예측해야 하는 label 데이터인 Y, 입력 데이터인 feature 데이터 X가 주어졌으므로 이는 지도 학습이다. 예측 해야하는 자료의 형태를 보면 Yes 또는 No로 범주형이다. 이렇게 범주형인 경우에는 분류 알고리즘으로 풀어야한다. 그렇다면 분류란 무엇일까? 예측해야 할 label에 있는 범주를 분류에서는 클래스라고 많이 한다. 이제 분류..

인공지능 공부 2021.08.22

[2021 NIPA AI 교육 - 응용 / 머신러닝] 03 지도 학습 - 회귀

오늘은 회귀에 대해 배워보겠다. 먼저 회귀의 개념에 대해 먼저 알아보겠다. 우리 스스로를 아이스크림 가게를 운영하는 주인이라고 가정해보자. 판매용 아이스크림을 구입할 때 예상되는 실제 판매량 만큼만 주문할 수 있다면 더 좋을 것이다. 이 때 만약 평균 기온을 활용해 미래 판매량을 예측할 수 있을까? 그러면 문제를 정의하고 어떤 해결방안이 있는지 보도록 하겠다. 평균 기온과 판매량은 선형적인 관계를 가지고 있다고 가정하겠다. 한쪽이 늘면 한쪽도 늘고 한쪽이 줄면 한쪽이 줄어드는 것과 같이 같은 경향성을 보이는 것을 선형적인 관계라고 한다. (한쪽이 늘 때 한쪽은 감소하고 한쪽이 줄 때 한쪽은 증가할 때도 선형적인 관계라고 할 수 있다.) 보면 X는 feature 데이터고 Y는 label 데이터이다. 따라서..

인공지능 공부 2021.08.21

[2021 NIPA AI 교육 - 응용 / 머신러닝] 02 데이터 전 처리하기

이번 시간에는 머신러닝을 위한 데이터 전 처리를 이해해보도록 하겠다. 우선 머신러닝 과정을 이해할 필요가 있다. 이 머신러닝 과정은 크게 네 가지로 나눌 수 있다. 데이터를 수집하고 이 데이터들을 머신러닝 학습에 사용하기 전에 머신러닝에 사용할 수 있는 형태로 처리를 해줘야 하는데 이것을 데이터 분석 및 전 처리 과정이라고 한다. 마지막에는 평가를 하는데 잘 안되었다면 다시 학습하거나, 분석을 다시하거나, 새로운 데이터로 수집하거나 하는 전 단계 과정으로 돌아가게 된다. 그러면 대표적인 데이터 전 처리의 역할에 대해 보겠다. 크게 세 가지로 정리할 수 있는데, 첫 번째는 머신러닝의 입력 형태에 맞게 데이터를 변환한다는 것이다. 두 번째는 이상한 값들을 처리하는 데이터 정제의 역할이다. 세 번째는 아까봤던..

인공지능 공부 2021.08.20

[2021 NIPA AI 교육 - 응용 / 머신러닝] 01 자료 형태의 이해

첫 번째로 자료의 형태에 대해 알아보겠다. 왜 자료의 형태를 알아야할까? 머신러닝은 데이터라는 디지털 자료를 바탕으로 수행하는 분석방식이다. 자료의 형태를 파악하는 것은 머신러닝을 사용하기 위한 필수 과정이다. 머신러닝을 사용할 때는 여러 가지 필요한 정보가 있을 수 있다. 이 중에서 첫 번째 물음은 자료의 형태를 파악해야만 알 수 있다. 이것을 알아야 어떤 머신러닝 모델을 사용할지, 데이터 전처리는 어떻게 할지와 같은 다음 파트로 넘어갈 수 있다. 자료 형태는 위와 같이 구분된다. 자료에는 수치형 자료가 있다. 이것은 수치로 측정이 가능한 자료로 키, 몸무게 등이 있다. 다음으로는 범주형 자료가 있다. 이것은 수치로 측정이 불가능한 자료로 성별, 지역등이 있다. 이런 자료 형태를 나눌 때 주의할 점이 ..

인공지능 공부 2021.08.19

[2021 NIPA AI 교육 - 응용 / 머신러닝] 00 인공지능/머신러닝 개론

머신러닝은 빅 데이터를 분석할 수 있는 강력한 툴이다. 기존 통계학 및 시각화 방법의 한계를 해결해준다. 머신러닝 : 명시적으로 프로그래밍을 하지 않고도 컴퓨터가 학습할 수 있는 능력을 갖게 하는 것 이전에 작은 데이터를 다룰 때는 명시적 프로그램이과 머신 러닝의 효율차이가 많이 나지 않는다. 하지만 빅 데이터와 같이 큰 데이터가 들어오게 되면 그 모든 데이터를 사람이 보고 케이스를 나누기 쉽지 않다. 그래서 이 데이터들을 분석할 수 있는 방법으로 머신 러닝이 뜨게 된 것이다. 그럼 이 머신러닝에 어떤 기법들이 있는 지 구분해 보도록 하겠다. 이 과목에서는 세 가지 방식중에서 지도학습 위주로 학습할 것이고 이 지도학습 안에서도 중요한 회귀분석과 분류에 대해 학습하겠다. 예측해야 할 결과에 대한 정답 데이..

인공지능 공부 2021.08.19

[2021 NIPA AI 교육 - 기본] 05 Matplotlib 데이터 시각화

이번에는 Matplotlib 데이터 시각화 그래프에 대해 배워보겠다. Matplotlib의 각 요소를 변경하면서 어떻게 그림이 달라지는지 살펴보겠다. 먼저 선으로 된 plot인 Line plot을 그려보겠다. fig, ax = plt.subplots() 으로 정의를 해주고 subplots()에서 괄호가 공란이면 1개의 figure만 만들어준다. 그리고 x = np.arange(15)로 0부터 14까지 정의역을 정의할 수 있다. y = x ** 2에서 x**2는 x^2 이므로 들어온 x값에 대한 제곱이 y값이 된다. 다음으로 ax.plot()에 많은 요소들을 넣어준다. 우선 x와 y를 넣어주고, line의 스타일을 정의할 수 있다. “:”은 그래프를 점으로 표시하는 것을 의미한다. 보면 선들이 점으로 연결..

인공지능 공부 2021.08.11
반응형