인공지능 74

[머신러닝 - 이론] CNN 시각화, CNN 성능 향상, 전이 학습 (CNN Visualization, CNN Improve Performanc

1. CNN의 시각화 CNN에서는 두 가지의 시각화를 시도할 수 있습니다. 첫 번째는 Convolution Layer의 Kernel을 시각화하는 방법이고, 두 번째는 Conv Layer, Pooling Layer이 추출해주는 Feature Map을 시각화하는 방법입니다. 왜 시각화를 해야할까요? CNN의 성능은 뛰어나지만 왜 그런 의사결정을 했는지 설명하는 능력이 매우 떨어집니다. 방대한 수치 계산으로 의사결정이 이루어져서 의사결정에 대한 이유를 해석할 방법이 없기 때문입니다. 설명 가능을 달성하려는 많은 연구 결과가 있는데, 커널과 특징 맵의 시각화는 가장 낮은 수준의 방법입니다. 낮은 수준이지만 쉽게 적용이 가능하고, 많은 정보를 주기 때문에 애용하는 방법입니다. 코드와 실제 예시는 나중에 글로 쓰겠..

[머신러닝 - 이론] 합성곱 신경망과 컴퓨터 비전 (CNN : Convolution Neural Network, Conputer Vision)

1. CNN의 시작 컴퓨터 비전은 인공지능의 가장 중요한 연구 분야 중 하나입니다. 시각은 인간의 가장 강력한 인지 기능이고, 컴퓨터 비전은 인간의 시각 기능을 모방합니다. 그렇다면 인간의 시각 기능이 어떻게 작동하는지를 먼저 알아야 합니다. 여러분들은 지금 이 글에 집중하고 계실 겁니다. 그러면 옆에 있는 침대, 책상, 책들도 보이실 텐데 흐릿하죠. 결국 시각은 집중하고 있는 field에만 명확히 인식할 수 있습니다. 실제로 시각 피질 안에 많은 뉴런들이 있는데, 어떤 뉴런은 수평선의 이미지에만, 어떤 뉴런은 수직선의 이미지, 또 다른 애는 다른 각도의 선분에만 반응합니다. 또 어떤 뉴런은 큰 수용장을 가져서 더 복잡한 패턴에 반응합니다. 즉 결론적으로 뉴런들은 각기 집중하는 field가 있고, 이 f..

[머신러닝 - 이론] 지금까지의 내용 정리

지금까지 내용을 간략히 정리하고 가겠습니다. 인공지능 : 인간의 지능이 가지는 학습, 추리, 논증 따위의 기능을 갖춘 시스템 인공지능은 강한 인공지능과 약한 인공지능으로 나뉜다 인공지능의 접근 방법 과학적 : 인간의 지능을 충분히 연구한다음 그 원리를 충실히 모방하는 기계 제작 공학적 : 쓸만한 지능 기계를 만들 수 있다면 인간의 지능 원리를 따르지 않아도 됨 규칙 기반 방법론 : 사람이 사용하는 규칙을 수집하여 프로그래밍(if-else) 하지만 규칙을 위반하는 샘플이 발생함 기계 학습 방법론 : 충분한 데이터를 수집 -> 기계가 스스로 규칙을 찾아내 학습하는 방법 딥러닝 방법론 : 기계 학습은 특징까지 수작업으로 알아내야하지만, 딥러닝은 특징마저 스스로 알아냄 머신러닝의 데이터의 중요성 데이터가 없으면..

[머신러닝 - 이론] 최적의 하이퍼 파라미터 찾기, 모델을 다듬는 방법 (Find Hyper Parameter, Fine-Tune Model)

하이퍼 파라미터는 너무나도 많습니다. 옵티마이저 기법, 손실 함수, 활성화 함수, 은닉층 개수, 노드 개수 등등 너무나도 많습니다. 심지어 하나의 파라미터에도 들어갈 수 있는 옵션들이 많습니다. 이때 하나하나 일일이 타이핑하면서 찾아야할까요?? 이번에는 간단하게 하이퍼 파라미터를 찾는 Grid Search와 Randomized Search에 대해 알아봅시다. Grid Search는 리스트 안에 딕셔너리 형태로 적용할 수 있습니다. [ { 하이퍼 파라미터_1 : [ 옵션들 ] }, { 하이퍼 파라미터_2 : [ 옵션들 ] } ] 이런 식으로 말이죠 이를 sklearn에서 제공하는 GridSearch에 넣으면 옵션들을 하나하나 다 적용하면서 최적값을 찾아줍니다. 장점은 알아서 더 좋은 파라미터를 찾아주지만,..

[머신러닝 - 이론] 딥러닝의 학습 전략 (Learning Strategy of Deep Learning)

앞선 글에서는 딥러닝이 무엇인지, 손실 함수는 어떻게 정의되고, 가중치 갱신 규칙에 대해 간략하게 알아봤습니다. 딥러닝의 학습 알고리즘은 수학적으로 아주 깔끔합니다. 하지만 층이 깊어질수록 딥러닝의 학습 중 발생하는 현실적인 문제를 말하고, 해결 전략에 대해 설명해드리겠습니다. 그리고 뒤에서는 몇몇 중요한 손실 함수와 옵티마이저 함수의 종류에 대해서 설명하겠습니다. 마지막으로 하이퍼 파라미터의 최적화 방법에 대해 알려드리겠습니다. 대표적인 두가지 문제는 그레이디언트 소멸 문제(Vanishing Gradient Problem), 과잉 적합 문제(Over Fitting Problem)입니다. 1. 그레이디언트 소멸 문제 (Vanishing Gradient Problem) 가중치를 갱신하는 과정은 미분의 연쇄..

[머신러닝 - 이론] 딥러닝의 기본 (Fundamental of Deep Learning)

1. 딥러닝이란? 깊은 신경망은 신경망에 층을 많이 두어 성능을 높이는 기술입니다. MLP에 은닉층을 더 많이 두면 깊은 신경망이 됩니다. 구조적으로는 쉬운 개념입니다. 하지만 학습이 잘 안 되는 경향이 있습니다. 층이 깊어질수록 오류 역전파 알고리즘의 미분 값이 출력 층에서 입력 층으로 갈수록 소멸되기 때문입니다. 이를 그레디언트 소멸 문제라고 합니다. 즉 층이 깊어질수록 학습이 잘 안 됩니다. 또한 데이터 셋이 작으면 추정할 매개변수는 많아지는데 데이터는 적어 over fitting이 일어나게 됩니다. 추가적으로 계산 시간이 매우 크다는 점이 단점입니다. 이때 딥러닝은 새로 창안된 이론이나 원리는 깊은 신경망과 동일합니다. 값싼 GPU의 등장, 데이터 셋의 크기 증가, 학습 알고리즘의 발전 (ReLU..

[머신러닝 - 이론] 딥러닝 - 다층 퍼셉트론 구조, 다층 퍼셉트론의 학습 방법(Deep Learning - Multi Layer Perceptron structrue, MLP Learning method)

앞의 글을 읽으시면 이해에 도움이 됩니다. 2022.04.08 - [Computer Science/머신러닝] - [머신러닝 - 이론] 딥러닝 - 인공 신경망, 퍼셉트론과 학습 방법 (DeepLearning - Artificial Neural Network, Perceptron, Learning Method) [머신러닝 - 이론] 딥러닝 - 인공 신경망, 퍼셉트론과 학습 방법 (DeepLearning - Artificial Neural Network, P 이제부터 머신러닝의 꽃인 딥러닝에 대해 알아보겠습니다. 사실 제 생각엔 딥러닝을 하기 전에 지도, 비지도 학습을 먼저 공부하고, 수학적 이론을 쌓은 다음에 공부해야 하는 게 맞다고 생각합 hi-guten-tag.tistory.com 퍼셉트론을 이해하셨다면..

[머신러닝 - 이론] 딥러닝 - 인공 신경망, 퍼셉트론과 학습 방법 (DeepLearning - Artificial Neural Network, Perceptron, Learning Method)

이제부터 머신러닝의 꽃인 딥러닝에 대해 알아보겠습니다. 사실 제 생각엔 딥러닝을 하기 전에 지도, 비지도 학습을 먼저 공부하고, 수학적 이론을 쌓은 다음에 공부해야 하는 게 맞다고 생각합니다. 근데 시험 공부랑 겹쳐서... 어쩔 수 없이 딥러닝을 먼저 하게 되네요... 추후에 다른 머신러닝 알고리즘도 올리겠습니다. 1. 인공 신경망이란? 인간의 뇌는 신경의 망들로 이루어져 있습니다. 뉴런은 뇌의 정보처리 단위입니다. 처리한 정보를 다른 뉴런으로 옮기고, 받은 뉴런은 자신이 연산을 처리하고 또 다른 뉴런에게 보냅니다. 인간의 뇌는 고도의 병렬 처리기입니다. 하지만 컴퓨터는 아주 빠른 순차 명령 처리기죠. 아무튼 인공 신경망은 생물의 신경망에서 원리를 얻었지만, 실제 구현은 많이 다릅니다. 인공 신경망을 A..

[머신러닝 - 이론] 데이터의 종류, 성능 측정 (Type of data, Performance Measurement)

1. 데이터의 종류, 분별력 앞의 iris 데이터에서 특징은 총 4개가 있었습니다. 이때 특징을 4차원 공간에서 보면, 레이블에 따라 몇몇 데이터는 뭉쳐져 있고, 몇몇 데이터는 떨어져 있는 것을 알 수 있습니다. 물론 4차원 공간을 볼 순 없지만, 3차원 공간으로는 볼 수 있습니다. 이때 특징에 따라 같은 레이블이 뭉쳐져 있고, 다른 레이블과의 거리가 멀다면 이 특징은 분별력 (descriminating power)이 뛰어나다고 볼 수 있습니다. 이때 다차원의 특징은 거리를 바탕으로 계산합니다. 또 다른 데이터로는 영상 데이터가 있습니다. 대표적으로 MNIST라는 숫자를 필기한 데이터가 있습니다. 이때는 화소 값이 특징 벡터입니다. 또 다른 영상 데이터는 얼굴 데이터셋이 있습니다. 어떤 데이터가 있으면 ..

[머신러닝 - 이론] 머신러닝의 기초 (Fundamental of Machine Learning)

1. 머신러닝 기초 머신러닝에서 데이터는 중요합니다. 차가 가기 위해 연료가 필요하듯 머신러닝에는 데이터가 필수적입니다. 데이터가 없으면 머신러닝을 적용할 수가 없습니다. 아무것도 가르쳐 주지 않고, 예측하라는 것과 마찬가지입니다. 2. 용어 및 예시 데이터 셋 (Data Set) : 머신러닝이 사용하는 데이터는 여러 개의 샘플을 담고 있어서 데이터 셋이라 부릅니다. 특징 벡터 (feature vector) : 데이터의 특징으로 구성되는 특징들의 집합입니다. 부류 (class) : 쉽게 설명해서 꽃의 종류입니다. 특징으로는 색깔, 길이 등등이 있고, 이 특징들을 바탕으로 부류가 정해집니다. 머신러닝이 예측하는 값입니다. 사이킷런에서 제공하는 iris 데이터 셋을 한 번 확인해봅시다. from sklear..