전체 글 68

week1 - 신경망 학습 (Loss Function, Gradient Descent)

신경망 학습 학습이란 훈련 데이터(Train Data)로부터 가중치 매개변수를 갱신하며 최적의 값을 찾는 것 입니다. 이렇게 최적의 값을 찾을 때에 사용하는 하나의 지표가 Loss Function(손실 함수) 입니다. Loss Function (손실함수) 손실함수는 신경망이 학습할 수 있도록 해주는 지표입니다. 정답과 출력값의 차이, 즉 오차를 말합니다. 이 손실함수 값(=오차)이 최소화되도록 하는 가중치와 편향을 찾습니다 (=학습합니다) 일반적으로는 MSE 혹은 Cross Entropy를 사용합니다. 평균 제곱 오차(Mean Squared Error : MSE) 계산이 간편하여 가장 많이 사용되는 손실 함수입니다. 거리가 음수로 나왔을 때 합산된 오차가 상쇄될 수 있기 때문에 각 거리 차이를 제곱하여 ..

week1 - 퍼셉트론, 인공신경망

퍼셉트론 퍼셉트론은 프랑크 로젠블라트가 처음 고안한 알고리즘입니다. 이는 신경망과 딥러닝으로 나아가는 데 중요한 역할을 합니다. 퍼셉트론은 "다수 입력 - 단일 출력"의 형태입니다. 여러개의 신호가 입력되면 하나의 신호가 출력됩니다. 입력값(x)에 가중치(w)를 곱하여 모두 합하면 출력값이 됩니다. x1*w1+x2*w2+x3*w3 +b 0 이면 y=1 b(bias)는 편향을 나타내는 매개변수이고 활성화를 제어합니다. w(weight)는 가중치를 나타내고 각 입력값의 영향력을 제어합니다. 인공신경망 동그라미 = 노드 회색 선 = 가중치 인공신경망은 다음과 같이 입력층(input layer), 은닉층(hidden layer), 출력층(output layer)으로 되어있습니다. 위 그림에서는 2개의 입력과 2..

Mutimodal 멀티모달

Multimodal Data? 우리의 경험은 실제로 복합적(multimodal)이다. 보고, 듣고, 촉감을 느끼고, 향기를 맡고, 맛을 음미한다. Modality는 어떤 일이 일어나거나 우리가 무언가를 경험하는 다양한 방식을 말한다. 그리고 이것을 활용하기 위해서는 멀티모달로 특징화해야한다. Multimodal Data는 서로 다른 형태의 정보로 이루어져 뚜렷한 특성이 구분되는 데이터이다. 이미지 데이터, 텍스트 데이터, 센서 데이터 등 다양한 형태로 이루어진 데이터 특징을 효과적으로 학습하기 위한 방법을 Multimodal learning이라고 하고, 데이터 통학적인 분석을 하기 위해서 중요하다. Multimodal Deep Learning? 이렇게 성능을 개선하기 위해 서로 다른 modality를 가..

카테고리 없음 2019.11.16

U-Net

U-Net은 biomedical image segmentation을 하기 위해 개발된 네트워크이다. 이 Network는 FCN(Fully Convolutional Network)을 기반으로 한다. 더 적은 양의 training image들로 더 정확한 segmentation이 가능하게끔 변경되고 확장되었다. 512 x 512 image segmentation이 modern GPU에서 1초가 채 걸리지 않는다고 한다. 전체적으로 Contracting path(축소)와 Expansive path(확장)로 구성된 대칭구조이고 U자 모양을 한다. Contracting path에는 ReLU와 Maxpooling이 반복되는 전형적인 convolution이 있다. Contraction을 하는동안, feature in..

인공지능 2019.11.14

어플 최초 실행/ 첫 실행 확인하기 (feat.SharedPreferences

어플 처음 실행시에만 어플 사용법에 대한 가이드(튜토리얼)를 제공하고자 찾아보게 되었다. 이것으로 첫 실행인지 확인한 후 어플에 대한 가이드라인 정보를 보여주면 될 것 같다. 현재 액티비티 기준 (넘어가기 전 액티비티 1 2 3 4 5 6 7 8 9 10 11 12 13 public SharedPreferences prefs; // 선언하기 . . prefs = getSharedPreferences("Pref", MODE_PRIVATE); // 생성하기 . . . public void checkFirstRun() { boolean isFirstRun = prefs.getBoolean("isFirstRun", true); if (isFirstRun) { Intent newIntent = new Intent..

Android 2019.10.27

ProgressDialog로 간단히 처리중이라는 표시하기

가공 식품의 원재료명을 촬용한 뒤, 텍스트 추출작업을 하는 과정이다. 구글 OCR API를 사용하는데 이미지를 처리하는 작업이 있다. 이미지를 텍스트로 변환하고 정제하는동안 아무 표시가 없으면 사용자가 잘 작동되고 있는것인지 모를 수 있다. 초간단 세줄로 ProgressDialog를 띄울 수 있다. 검색해보았을 때 여러가지 찾아서 해보다가 가장 간단한 방법이라 적어둔다! 다음과 같이 callCloudVision() 메소드 안에 ProgressDialog를 생성하여 이미지 처리중임을 사용자에게 알려준다. (이 메소드가 끝남과 동시에 ProgressDialog 생성된 객체?도 같이 없어질 것이라 생각하고 1 2 3 4 5 6 ProgressDialog progressDialog=new ProgressDial..

Android 2019.10.27

Deep Q Learning

Machine Learing의 분류 Supervise Learning(지도학습) Unsupervised Learning(비지도학습) Reinforcement Learning(강화학습) 강화학습 ? 강화라는 개념은 행동심리학자 시크너가 제시한 것으로 행동심리학에서 영감을 받았다고한다. 강화는 동물이 시행착오를 통해 학습하는 것을 말한다. 강화학습은 이 동물처럼 어떤 환경에서 Agent가 경험을 통해 Reward가 최대가 되도록 하는 Action을 상황별로 결정하는 것을 말한다. 지도학습처럼 Label(정답)을 주어 계속해서 옳은 방향으로 나아가는 학습 개념과는 조금 다르다. 사람처럼 실수도 하고 시행착오도 겪는 그런 모습을 표현(적용)한 것이라고 한다. 강화학습의 정의 "어떤 환경 안에서 정의된 Agent..

인공지능 2019.10.26

컴퓨터비전 (CV) 학회 어떤 것이 있을까?

CVPR The Conference on Computer Vision and Pattern Recognition (CVPR) is an annual conference on computer vision and pattern recognition, which is regarded as one of the most important conferences in its field. ICCV 국제 컴퓨터 비전 학회(International Conference on Computer Vision)는 격년제로 개최되는 학회로서 컴퓨터과학 분야 최고 수준의 학회중 하나이며 컴퓨터시신경(컴퓨터 비전) 및 인공지능-패턴인식 분야에 있어 CVPR(Conference on Computer Vision and Pattern Re..

카테고리 없음 2019.10.18

Style Transfer

Visualizing What Convnets Learn 딥러닝의 블랙박스는 학습된 표현에서 사람이 이해하기 쉬운 형태를 뽑아내거나 제시하기 어렵다. ConvNet은 시각적인 개념을 학습한 것이기 때문에 시각화하기에 좋다. 대표적인 세가지 기법 - 컨브넷 중간층의 출력을 시각화하기: 연속적인 컨브넷층이 입력을 어떻게 변형시키는지 이해하고 개별적인 컨브넷 필터의 의미 파악에 도움이 된다. - 컨브넷 필터 시각화: 컨브넷의 필터가 찾으려는 시각적인 패턴과 개념이 무엇인지 상세하게 이해하는데 도움이 된다. - 클래스 활성화에 대하나 히트맵을 이미지에 시각화: 이미지의 어느 부분이 주어진 클래스에 속하는데 기여했는지 이해하고 이미지에서 객체의 위치를 추정하는데 도움이 된다. 중간 층의 활성화 시각화 - 어떤 입..

GAN 에 대해 알아보자!

GAN = Generative Adversarial Network = 생성적 적대 신경망 GAN 내부의 두 신경망 Discriminator와 Generator가 서로 경쟁하면서 학습하기 때문에 "Adversarial"이라는 말이 붙은 것이다. 두 개 이상의 신경망이 서로를 향하고 서로 대항듯이 훈련하게 함으로써 Generative Model을 학습해낸다. Discriminator = 판별하는 신경망 Generator = 생성하는 신경망 우리가 잘 알고있는 분류(Classification)기법은 전형적인 Discriminator 중 하나이다. GAN의 원리 GAN은 Real Data와 비슷한 확률 분포를 가지는 Fake Data를 생성한다. Fake Data는 GAN에서 만들어진 데이터이기 때문에 생성 D..

카테고리 없음 2019.10.11