목록전체 글 (23)
유진의 코딩스토리
Custom Vision 개체 감지 AI 모델Azure의 Custom Vision 서비스를 활용해서 특정 개체를 감지하는 애플리케이션을 만들어보자. 1단계 : 데이터 가져오기다양한 변형을 찾을 수 있도록 가능한 한 많은 이미지를 수집한다. 2단계 : 특징 추출인간의 뇌는 각 이미지에서 특징을 추출하려고 한다. 특징에는 색 조합, 날카로운 가장자리, 원형 패턴, 표면의 질감, 크기 등이 있다. 인간의 뇌는 자연스럽게 이러한 특징들을 고려하여 분류를 진행한다. 3단계 : 관계 찾기인간은 사진에 표시된 개체의 특징과 종류 간의 관계를 찾으려고 한다. 뇌는 각 개체 종류의 특성 및 특징을 분리하거나 대조하려고 한다. 4단계 : 종류 분류새로운 이미지가 제공되면 뇌는 해당 특성을 추출하고 이미 만들어 놓..
기존 DNN 문제점기존 DNN은 1차원 형태로 데이터를 표현하며 2차원 이미지 데이터를 1차원으로 표현할 경우 인접한 영역의 상관관계가 손실된다. 인접한 픽셀들이 모여 이미지의 각 부분을 표현하나, 한 줄로 늘어뜨린 1차원 데이터에서는 상관관계가 제거된다. 합성곱신경망(CNN) 위 DNN의 문제점을 해결한 방법이 바로 CNN이다.컨볼루션 신경망은 모든 신경망 구조 중 가장 강력한 성능을 보이는 신경망 중 하나로 2차원 이미지 형태를 유지하면서 입력을 처리하기 때문에 이미지 처리에 적합하다. CNN은 하위 레이어의 노드들고 상위 레이어의 노드들이 부분적으로만 연결되어 있다. CNN은 일반적인 완전 연결 신경망(fully connected neural network)와 달리 데이터의 지역적 특성을 학습하..
최적화 (Optimizer) 기법 확률적 경사 하강법 (SGD, Stochastic Gradient Descent) 다변수 미분 이론에 바탕을 둔 가장 기본이 되는 optimizer이다.매번 전체 데이터셋을 사용하는 대신 무작위로 선택된 mini batch를 사용하여 경사를 계산하고 업데이트한다.큰 데이터셋을 사용할 때 계산량이 적어 경사방향으로 움직일 때 가장 빠른 최적화를 보이는 단순한 방식으로 학습률에 따라 성능 편차가 크다는 특징이 있다. 하지만 SGD의 치명적인 단점으로는 고차원 공간에서 비효율적인 경사 하강이 발생할 수 있다는 점이다. 위 사진처럼 고차원의 공간에서는 손실함수의 지형이 매우 복잡할 수 있는데 경사가 특정 방향(x)으로는 매우 작고 특정 방향으로는 매우 큰 경우가 있다. 이 때..
Affine 계산 그래프입력값에 가중치를 곱하고 bias를 더해 계산하는 층은닉층이 2개인 경우 계산 과정 : affine층 → sigmoid층 → affine층 → sigmoid층 → affine층 → softmax층 add layer는 그대로 가져옴loss값의 미분을 구하려면 역전파 방식으로 속도가 빨라짐 Sigmoid 역전파 그래프 역전파를 과정에서 활성화함수인 sigmoid를 거칠 때 sigmoid의 미분값은 y(1-y)로 간편화할 수 있다.이로 인해 역전파 계산과정이 간편해진다. Sigmoid 활성화 함수의 문제와 대안기울기 소실 문제(Gradient Vanish)은닉층의 깊이가 깊어질수록 역전파 과정에서 학습을 진행할수록 기울기가 작아지는 현상기울기는 활성화 함수의 미분값을 ..
손실함수 (Loss function) 모델의 예측값과 실제값 사이의 차이를 나타내는 함수모델의 성능을 평가하는 중요한 지표로 모델의 가중치를 업데이트하는데 사용한다. ▶ 손실함수의 종류평균 제곱 오차(Mean Square Error)교차 엔트로피 오차(Cross Entropy Error) 손실함수의 종류에는 여러가지가 있지만 많이 사용되는 두가지만 확인해보자. 평균 제곱 오차(Mean Square Error) 오차의 제곱합은 가장 많이 사용되는 손실함수이다.위 식에서 y값은 신경망의 출력(예측값), t는 정답 레이블(실제값)이며 k는 데이터 차원의 수를 나타낸다. import numpy as npdef sum_squares_error(y, t): return 0.5 * np.sum((y - ..
Compute Instance 생성 Azure ML에 실습과제 업로드 퍼셉트론 인간의 뉴런은 감각을 통해 얻은 신호를 취합하여 특정 값 이상이면 다음 뉴런으로 신호를 전달한다.퍼셉트론은 이러한 인간의 뉴런을 모방하여 수학적으로 모델링 한 것으로 입력값과 가중치의 선형 결합으로 되어있다. 위 퍼셉트론은 선형결합의 결과값과 임계값에 따라 출력값의 신호 전달 여부를 정하는 모델이다.(분류문제를 해결한다.) AND Gate 두 입력이 모두 1일 때만 1 출력, 나머지는 0 츨력 OR Gate두 입력 중 하나라도 1일 때 1 출력, 나머지 0 출력 NAND gateAND gate와 정 반대의 결과 출력 XOR Gate둘 중 하나만 1인 경우 1 출력, 나머지 0 출력 XO..