Artificial Intelligence/Deep Learning 32

[Deep Learning] - Neural Networks

🧑🏻‍💻용어 정리 Neural Networks Linear Separability Optimization Perceptron Activation function 오늘은 NN이 무엇인지에 대해 알아보고자 한다. Neural Networks (NN) 뉴럴 네트워크. 이것은 사람의 뇌를 흉내내어 만든 mathematical model이다. 수학적으로 흉내낸다. 데이터가 들어온다. 데이터가 weight와 함께 다른 networs들과 연결된다. 마냑 function의 값이 충분히 강하다면, node가 activation 된다. 이를 ANN, Artificial Neural Networks라고도 한다. 대부분의 알고리즘들이 special한 NN의 form으로 묘사될 수 있다. 이것에는 다음과 같은 항목들이 존재한다..

[Supervised Learning] 지도 학습

🧑🏻‍💻용어 정리 Supervised Learning 지도 학습 특징 : 이미 측정된 데이터의 속성 사이의 관계 "이미 측정된" 여러 숫자를 모아 행으로 나타내어 ndarray 형태로 데이터의 배치 batch를 만들어 모델에 입력. 각 관찰에 대한 예측 결과가 담긴 행으로 구성된 ndarray 객체를 반환. 행의 길이는 데이터의 특징, 즉 feature의 개수이다. feature는 category에 따라 나누어 분류한다. 어떤 문제를 해결해야 하는가 - target 지도 학습 모델 지도 학습의 목적은 ndarray 객체를 입력받아 또 다른 ndarray 객체를 출력하는 형태를 가진 함수를 찾는 것이다. 이 함수는 우리가 정의한 특징값을 담은 ndarray객체를 입력 받고, 목표 속성의 특징과 가까운 값을..

[Machine Learning] 신경망 기초 3

🧑🏻‍💻용어 정리 연쇄법칙 - 조금 더 복잡한 연쇄법칙 조금 더 복잡한 연쇄법칙 순방 계산 def chain_length_3(chain: Chain, x: ndarray) -> ndarray: ''' 3개의 함수를 연쇄적으로 평가함. ''' assert len(chain) == 3, \ "인자 chain의 길이는 3이여야 함" f1 = chain[0] f2 = chain[1] f3 = chain[2] return f3(f2(f1(x))) def chain_deriv_3(chain: Chain, input_range: ndarray) -> ndarray: ''' 세 함수로 구성된 함성함수의 도함수를 계산하기 위해 연쇄법칙을 사용함 (f3(f2(f1)))' = f3'(f2(f1(x))) * f2'(f1(x)..

[Machine Learning] 신경망 기초 2

🧑🏻‍💻용어 정리 연쇄법칙 - Chain rule 연쇄법칙에 대한 수식은 다음과 같다. 수식 코드 def sigmoid(x: ndarray) -> ndarray: ''' 입력으로 받은 ndarray의 각 요소에 대한 sigmoid 함숫값을 계산한다. ''' return 1 / (1 + np.exp(-x)) def chain_deriv_2(chain:Chain, input_range: ndarray) -> ndarray: ''' 두 함수로 구성된 합성함수의 도함수를 계산하기 위해 연쇄법칙을 사용함 (f2(f1(x)))` = f2`(f1(x)) * f1`(x) ''' assert len(chain) == 2, \ "인자 chain의 길이는 2여야 함" assert input_range.ndim == 1, \..

[XAI] 설명가능한 AI (Explainable AI)

🧑🏻‍💻용어 정리 XAI 자율주행, 의료 인공지능 및 여러 가지 요소가 인간에게 직접 영향을 미치는 것에 대해 필요해집니다. 왜 AI가 이러한 결과를 내었는지 설명이 필요해졌습니다. XAI 기법 모델/데이터셋의 오류 색출 모델이 얼마나 편향되었나 자율주행 자동차가 어떻게 잘못 인식하여 그러한 예측 결과를 내었는가 COVID-19 X-ray 검출 어떻게 해야 설명 가능성을 높일 수 있을까? Local한 방법 주어진 특정 데이터에 대한 예측 결과를 개별적으로 설명하려는 방법 Global한 방법 전체 데이터셋에서 모델의 전반적인 행동을 설명하고자 하는 방법 White-box 방법 모델의 내부 구조를 정확하게 알고 있는 상황에서 설명을 시도하는 방법 Black-box 방법 단순히 모델의 입력과 출력만 가지고 설..

[Convolutional Neural Networks and Image Classification] Part 3

🧑🏻‍💻용어 정리 Convolutional Neural Networks fully-connected layer fully-connected neural network activation map Hyperparameters VGGNet ResNet Convolutional Neural Networks fully-connected layer fully-connected neural network Computer Vision (ConvNets) 2012년 AlexNet부터 성능이 급격히 좋아짐 2015년 사람보다 더 인식을 잘 하게 되었습니다. 여러분은 고양이와 강아지를 잘 구분할 수 있나요? 고양이와 강아지를 구분하기 위해서는 Computer Vision 분야에서 많이 쓰이는 CNN, 즉 Convolutio..

[Training Neural Networks] part 2

🧑🏻‍💻용어 정리 Gradient Descent MNIST handwritten digit classification Back propagation Computational graph sigmoid tanh ReLU Batch Normalization Gradient Descent loss function을 최소화하는 Gradient 값을 찾는다. 그러나 곧이 곧대로 gradient descent 를 사용한다면 비효율적으로 사용될 수 있다. 그러므로 여러 가지 Gradient Descent Algorithm 들이 존재합니다. MNIST handwritten digit classification -> mse loss 적용 예시 목적 : 학습을 통해 각 layer 들에 존재하는 Parameter 들. 학습 ..

[Deep Neural Network] part 1 - 2

🧑🏻‍💻용어 정리 Deep Neural Network multi-layer perceptron sigmoid MNIST MSE error logistic regression Forward Propagation multi-layer perceptron에서 이 순차적인 계산과정을 나타내는 forward propatation 뉴런의 입력으로 주어지는 vector를 column vector로 만들고, 이 뉴런이 가지는 가중치를 row vector로 만들면 행열의 내적 형태로 가중합을 나타낼 수 있습니다. 위와 같이 계산상에서 학습의 용이함을 필요로 하기 때문에, 이러한 활성 함수를 사용하게 됩니다. 위 Activation function은 sigmoid or logistic function이라고 불리게 됩니다...

[Deep Neural Network] part 1 - 1

🧑🏻‍💻용어 정리 Deep Neural Network Perceptron Decision Boundary Input Feature space Deep Neural Network (심층 신경망) 두뇌 속 뉴런 혹은 신경 세포를 본 따서, 그 신경 세포들이 서로 연결 관계에 있으며 정보를 더 고수준의 정보로 처리하고 여러 지능적인 task를 수행할 수 있도록 하는 신체 내 두뇌의 동작 과정을 모방하여 수학적 알고리즘으로 만든 것입니다. Deep Learning Algorithm이라고 부릅니다. 학습 Data에 기반한 기계학습 Algorithm 중 하나입니다. 신경 세포 하나는 다른 신경 세포들과 연결되어져 있습니다. 다른 신경세포들로부터 전기 신호를 입력으로 받게 됩니다. 다른 신경세포들로부터 넘어온 전기 ..

[Machine Learning] 신경망 기초 1

🧑🏻‍💻용어 정리 합성함수 - composite function 합성함수의 도함수 - derivative 연쇄 - chain 신경망의 동작 원리를 이해하는 데 필요한 기초적인 멘탈 모델을 설명할 수 있다. 신경망의 기본적인 구성 요소 수식 코드 다이어그램 함수 - 프랑스의 철학자 르네 데카르트가 처음 제안한 방법. 좌표에 나타내기. 1. 수식 2. 다이어그램 함수 나타내기 방법 1) 함수 나타내기 방법 2) 3. 코드 python의 Numpy 라이브러리이다. 신경망에서 다룰 데이터는 모두 다차원 배열에 담긴다. import numpy as np print("파이썬 리스트를 이용한 연산") a = [1, 2, 3] b = [4, 5, 6] print("a+b:", a+b) try: print(a*b) ex..