<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.3">Jekyll</generator><link href="https://ahnho.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://ahnho.github.io/" rel="alternate" type="text/html" /><updated>2023-05-10T12:27:47+00:00</updated><id>https://ahnho.github.io/feed.xml</id><title type="html">&amp;gt; cd /home/ahnho</title><subtitle>A website with blog posts and pages</subtitle><entry><title type="html">SNN_1 neurons and learning flow (based brain science)</title><link href="https://ahnho.github.io/2023/05/10/SNN_1.html" rel="alternate" type="text/html" title="SNN_1 neurons and learning flow (based brain science)" /><published>2023-05-10T00:00:00+00:00</published><updated>2023-05-10T00:00:00+00:00</updated><id>https://ahnho.github.io/2023/05/10/SNN_1</id><content type="html" xml:base="https://ahnho.github.io/2023/05/10/SNN_1.html">&lt;h2 id=&quot;structure-and-behavior-of-neurons&quot;&gt;Structure and behavior of neurons&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/image/SNN/neuron.png&quot; width=&quot;650px&quot; height=&quot;150px&quot; title=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;뇌는 신경세포인 뉴런들로 구성 및 뉴런은 다른 뉴런들과 연결되어 있다.&lt;/li&gt;
  &lt;li&gt;dendrite(수상돌기) : 전기화화적 신호를 받아 들임&lt;/li&gt;
  &lt;li&gt;soma(세포체) : 수신한 신호를 결합하여 특정 임계값에 도달하면 출력신호를 발생 시킴&lt;/li&gt;
  &lt;li&gt;axon(축색돌기) : 발생한 신호를 다른 신경세포로 전달&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;ul&gt;
  &lt;li&gt;synapse : 뉴런들을 연결함 , 기화화적 신호 spike가 전달됨&lt;/li&gt;
  &lt;li&gt;spike : 짧고 순간적으로 발생하는 pulse형태로 전달되는 신호
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;spike가 전달시 axon의 단말에 있는 synapic vesicle(소낭)이 synaptic cleft 방향으로 이동&lt;/li&gt;
        &lt;li&gt;이동 후 vesucle에 포함되어 있는  neurotransmitter(신경 전달 물질)을 synaptic cleft에 보낸다&lt;/li&gt;
        &lt;li&gt;신경전달물질은 시냅스 후 뉴런의 수용체로 전달되어 spike신호를 시냅스 후 뉴런에 전달한다.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;synapse의 종류 :
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;exciatory synapse : spike 전달시 막전위 상승&lt;/li&gt;
        &lt;li&gt;inhibitory synapse : spike 전달시 막전위 감소&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;뉴런의 막전위는 평소 negative 전압을 뛰고 있다.&lt;/li&gt;
  &lt;li&gt;막전위가 임계값에 도달시 spike가 생성되어 axon방향으로 전달 된다
    &lt;blockquote&gt;
      &lt;p&gt;: 이 때 , 감소된 막전위는 resting potential(휴지 전위)보다 더 낮게 형성되며 초분극화 후 전위 상태를 한동안 유지한다.&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;ion-channel&quot;&gt;ion channel&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;/image/SNN/ion.png&quot; width=&quot;600px&quot; height=&quot;250px&quot; title=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;ligand gated :
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;ligand : 수용체와 결합하는 분자&lt;/li&gt;
        &lt;li&gt;receptor(수용체)와 ligand가 결합하여 열리는 channel&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;voltafe gated : 전위차에 의해서 열리는 channel (\(Na{^+}\), \(Ca^{2+}\),\(K^{+}\), \(Cl^{-}\) 등 이온 별로 존재)&lt;/li&gt;
  &lt;li&gt;대표적인 신경전달 물질 :
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;GABA,Glu.gly,Ach 등이 있다. (빠르게 작용하는 물질들)&lt;/li&gt;
        &lt;li&gt;다른 신경전달 물질들도 있지만 느리게 작용하는 물질들이다.&lt;/li&gt;
        &lt;li&gt;빠르게 적용하는 물질들은 Dale의 원리가 적용 : 하나의 뉴런은 하나의 신경전달물질을 분비한다&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;exciatory synapse의 수용체
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;대표적으로 AMPA,NMDA,kainate (Glu receptors)&lt;/li&gt;
        &lt;li&gt;AMPA :  allow \(Na^+\) influx&lt;/li&gt;
        &lt;li&gt;NMDA: allow \(Na^+\) and \(Ca^{2+}\) influx&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;inhibitory synapse 수용체
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;\({GABA_A}\) 가 대표적&lt;/li&gt;
        &lt;li&gt;위에 대한 신경전달물진 : GABA&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;snn-learning-flow&quot;&gt;SNN learning flow&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/image/SNN/ma.png&quot; width=&quot;600px&quot; height=&quot;250px&quot; title=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;세포 이온마다 세포의 내부와 외부는 농도차가 남  \(Na^+\) 같은 경우는 외부가 내부보다 약 10배정도 농도가 큼
    &lt;blockquote&gt;
      &lt;dl&gt;
        &lt;dt&gt;: 외부의 어떤 존재하지않는 경우 엔트로피에 의해서 세포 내부와 외부를 맞출려는 힘이 생김&lt;/dt&gt;
        &lt;dd&gt;**그래서 평균적으로 나가는 이온들과 들어오는 이온들의 상쇄되어 전체적으로 이동하지 않도록 처럼 보이는 평행상태를 만들기 위해서는 전기장을 걸어줄 필요가 있다.  **&lt;/dd&gt;
      &lt;/dl&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/image/SNN/spike_graph.png&quot; width=&quot;700px&quot; height=&quot;300px&quot; title=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;postsynaptic neuron의 전위가 휴지 전위일 때 axon 말단에서 전달되어온 Glu 신경전달물질과 AMPA 수용체와 결합한다
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;이 때 , \(Na^+\) channel이 열리면서 세포안으로  \(Na^+\)가 올라가면서 막전위가 올라감&lt;/li&gt;
        &lt;li&gt;막 전위가 올라가는 이유 : \(Na^+\)가 내부로 들어가면서 세포 외부막은 음이온이 형성됨&lt;/li&gt;
        &lt;li&gt;\(Na^+\)가 안에 들어갈수록 외부는 더욱 음이온이 형성되고 내부는 양이온이 형성됨
:: 위 상태가 유지되다 언젠가 전기적인 힘과 엔트로피의 대한 확산의 평행이 되는 시점이 존재 
::  \(Na^+\) 같은 경우는 62mV 이고 이온마다 그 시점은 다르다.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;이 때, Glu의 신경전달물질은 더 큰 인온인  \(Ca^{2+}\) 를 통과 시킬 수 있는 NMDA 수용체에는 붙지 않은 상태
    &lt;blockquote&gt;
      &lt;p&gt;:  \(Mg^{2+}\) 이온이 막고 있는 상태&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;\(Na^+\) 가 새내내로 충분히 많이 들어가게 되면 막전위가 올라간 탈분극상태가 되면서 \(Mg^{2+}\) 가 밀쳐내지면서 NMDA channel이 열리게되면서 \(Ca^{2+}\) 와 \(Na^+\) 이 통과 된다.&lt;/li&gt;
  &lt;li&gt;뉴런의 전류(postsynaptic current)도 증가&lt;/li&gt;
  &lt;li&gt;막전위가 활동전위(action potential)(threshold)에 도달하면 Spike 발생
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;axon 방향으로 spike가 전달 &amp;amp; dendrite 방향으로 역전파&lt;/li&gt;
        &lt;li&gt;역전파된 spike의 해 dendrite쪽의 전위가 올라가 약한 탈분극 상태가 됨&lt;/li&gt;
        &lt;li&gt;NMDA수용체로 부터  \(Mg^{2+}\) 가 분리되어 해당 채널이 열리게 된다.&lt;/li&gt;
        &lt;li&gt;\(Ca^{2+}\) 가 세포내로 흘러오면서 AMPA 수용체가 dendrite쪽으로 이동하여 부착되면서 \(Na^+\)  이 더 많이 흘러 들어오게 된다&lt;/li&gt;
        &lt;li&gt;이러한 시냅스의 대한 모델의 침묵을 silent synapse model 이라고한다.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;silent synapse model
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;AMPA수용체가 없는 시냅스에서도 spike신호가 잘 전달될 수 있게 하는 메커니즘을 설명하는 모델&lt;/li&gt;
        &lt;li&gt;이와같은 수용체 증가는 spike신호를 더 강하게함(즉, 가중치를 증가시키는 역할을 함.)&lt;/li&gt;
        &lt;li&gt;시냅스에 추가된 AMPA 수용체는 세포 내의 전위 상태에 따라 다시 떨어져 나와 세포내로 이동&lt;/li&gt;
        &lt;li&gt;위와 같은 메커니즘은 synapse의 연결강도(가중치의 강도)를 변화 시키는 역할을 함&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h4 id=&quot;다음-포스터에서는-이번-포스트의-내용에-이어서-synaps-연결강도-변화에-대해서-자세히-알아보겠습니다&quot;&gt;다음 포스터에서는 이번 포스트의 내용에 이어서 synaps 연결강도 변화에 대해서 자세히 알아보겠습니다.&lt;/h4&gt;

&lt;h2 id=&quot;reference&quot;&gt;Reference&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;스파이킹 뉴런 모델의 동작과 스파이킹 신경망의 학습 (북대-이건명)&lt;/li&gt;
  &lt;li&gt;https://jinprelude.github.io/posts/SNN-Basic-Tutorial-1-Spiking-Neural-Network%EB%9E%80/&lt;/li&gt;
  &lt;li&gt;https://www.youtube.com/watch?v=2X54S_760x0&amp;amp;t=873s&lt;/li&gt;
  &lt;li&gt;https://dacon.io/en/codeshare/5544&lt;/li&gt;
&lt;/ul&gt;</content><author><name>Ahnho</name></author><category term="SNN" /><category term="DL" /><category term="Color" /><summary type="html">Structure and behavior of neurons 뇌는 신경세포인 뉴런들로 구성 및 뉴런은 다른 뉴런들과 연결되어 있다. dendrite(수상돌기) : 전기화화적 신호를 받아 들임 soma(세포체) : 수신한 신호를 결합하여 특정 임계값에 도달하면 출력신호를 발생 시킴 axon(축색돌기) : 발생한 신호를 다른 신경세포로 전달</summary></entry><entry><title type="html">Optimization basic for ML</title><link href="https://ahnho.github.io/2022/10/19/opimization.html" rel="alternate" type="text/html" title="Optimization basic for ML" /><published>2022-10-19T00:00:00+00:00</published><updated>2022-10-19T00:00:00+00:00</updated><id>https://ahnho.github.io/2022/10/19/opimization</id><content type="html" xml:base="https://ahnho.github.io/2022/10/19/opimization.html">&lt;h1 id=&quot;optimization-basic-for-ml&quot;&gt;Optimization basic for ML&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;수학에서의 최적화 : 제약조건이 존재 할수도있는 상황에서 주어진 함수의 최대,최소점을 찾는 것.&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;optimization-in-ml&quot;&gt;Optimization in ML&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Training set 에 따라 정해지는 target function을 최저점을 만드는 model parameters를 찾는 것&lt;/li&gt;
  &lt;li&gt;보통 SGD(stochastic gradient descent)를 사용을 한다.&lt;/li&gt;
  &lt;li&gt;loss function의 미분을 통해 error backpropagation algorithm사용.(chain rule)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;parameters-space-navigation&quot;&gt;Parameters Space Navigation&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;ML 훈련가정 == 목적함수 최적화를 위한 매개변수 공간탐색
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;적정한 학습 모델(가설) 선택&lt;/li&gt;
        &lt;li&gt;목적함수 정의&lt;/li&gt;
        &lt;li&gt;학습 모델의 매개 변수 공간을 탐색하여 최저가 되는 최적점을 찾기.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;특징 공간 보다 수 만배 많은 차원 을가진다.
    &lt;blockquote&gt;
      &lt;p&gt;ex) MINIST&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;28by28 의 image = 784차원의 특징 공간을 가지고&lt;/li&gt;
        &lt;li&gt;매개변수 공간은 수십만~수백만 차원의 매개 변수 공간을 가진다.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;그리고 우리는 global minia를 찾고 있지만 local minia를 찾고 만족하는 경우가 많다.
ex)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/image/OP_1.png&quot; width=&quot;600px&quot; height=&quot;200px&quot; title=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Jacobian matrix  : 특정 행렬을 미분해서 얻은 행렬
Hessian matrix : 2차 미분 행렬&lt;/p&gt;

&lt;h2 id=&quot;ml-optimization-strategy&quot;&gt;ML Optimization Strategy&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;exhaustive search(낱낱탐색) Algorithm
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;모든 경우의 수를 보는 알고리즘&lt;/li&gt;
        &lt;li&gt;차원이 조금만 높아져도 적용이 불가능하다&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;random search(무작위 탐색) Algorithm
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;전략없이 무작위로 탐색하는 순진한 알고리즘&lt;/li&gt;
        &lt;li&gt;램덤성으로 낱낱탐색보다 빠를수도 있다.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;gradient-descent경사하강법-algorithm&quot;&gt;gradient descent(경사하강법) Algorithm&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;초기에 파라미터를 설정을 한다.&lt;/li&gt;
  &lt;li&gt;그리고 목점함수가 작아지는 방향으로 파라미터를 구함
    &lt;blockquote&gt;
      &lt;p&gt;파라미터가 작아지는 방향 : 미분값으로 계산&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;핵심원리 : \(d \theta = - f^`(x)\)&lt;/li&gt;
  &lt;li&gt;gradient : 미분 값이 이루는 벡터&lt;/li&gt;
  &lt;li&gt;ML 에서의 편미분 : 매개변수 집합은 복수 매개변수 이므로 편미분을 사용한다.&lt;/li&gt;
  &lt;li&gt;learning rate: 탑색을할때 이동거리를 조절하는 역할&lt;/li&gt;
  &lt;li&gt;\(\theta = \theta - pg\) : 위와같은 방법으로  gradient를 구한뒤 기울기가 낮은쪽으로 learning rate 만큼 이동하는걸 반복하여 최소값에 도달한다 .&lt;/li&gt;
  &lt;li&gt;full- batch : 한번에 갱신
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;정확한 방향으로 수렴&lt;/li&gt;
        &lt;li&gt;하지만 느리다.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;batch--gradient-descent&quot;&gt;batch  gradient descent&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;sample 의 gradient를 구래 평균을 구한뒤 한꺼번에 update한다.&lt;/li&gt;
  &lt;li&gt;training set 전체를 다 봐야지 update가 일어나므로 학습이 오래건린다.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;sgd-stochastic-gradient-descent&quot;&gt;SGD (stochastic gradient descent)&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;mini-batch gradient descent 라고도 한다.&lt;/li&gt;
  &lt;li&gt;mini-batch(one-smaple)의 gradient를 계산후 update.(나눠서 갱신)
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;수렴이 다소 해맬수 있다.&lt;/li&gt;
        &lt;li&gt;대신 빠르다.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;epoch : training set 한번을 다보고 학습을 시킨걸 1-epoch라고 한다.&lt;/li&gt;
  &lt;li&gt;epoch 를 반복하여 학습.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;reference&quot;&gt;Reference&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;기계학습(오일석)&lt;/li&gt;
  &lt;li&gt;이재구(인공지능/2022)(국민대)&lt;/li&gt;
&lt;/ul&gt;</content><author><name>Ahnho</name></author><category term="ML" /><category term="Color" /><summary type="html">Optimization basic for ML 수학에서의 최적화 : 제약조건이 존재 할수도있는 상황에서 주어진 함수의 최대,최소점을 찾는 것.</summary></entry><entry><title type="html">Information theory basic for ML</title><link href="https://ahnho.github.io/2022/10/16/Information-theory.html" rel="alternate" type="text/html" title="Information theory basic for ML" /><published>2022-10-16T00:00:00+00:00</published><updated>2022-10-16T00:00:00+00:00</updated><id>https://ahnho.github.io/2022/10/16/Information-theory</id><content type="html" xml:base="https://ahnho.github.io/2022/10/16/Information-theory.html">&lt;h1 id=&quot;information-theory--basic-for-ml&quot;&gt;Information theory  basic for ML&lt;/h1&gt;

&lt;p&gt;: event가 지닌 정보를 정량화 할 수 있나?&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;기본원리 : 확률이 작을수록 많은 정보를 가진다&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;blockquote&gt;
  &lt;p&gt;즉, 자주 발생하는 사건보다는 잘 일어나지 않는 사건의 정보량이 더 많다.&lt;/p&gt;
  &lt;blockquote&gt;
    &lt;dl&gt;
      &lt;dt&gt;ex) 아침해 해가 뜬다. vs 아침에 일식이 있었다.&lt;/dt&gt;
      &lt;dd&gt;아침해 해가 뜨는건 매일 발생하는 사건이고 일식은 드문 사건임으로  후자가 더 많은 정보량을 가진다.&lt;/dd&gt;
    &lt;/dl&gt;
  &lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;self-information&quot;&gt;self information&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;사건 \(e_i\) 의 정보량
    &lt;blockquote&gt;
      &lt;p&gt;: \(h(e_i) =  -log_2P(e_i)\) or \(h(e_i) =  -log_eP(e_i)\)&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;해당하는 event가 얼마만큼의 확률을 가지고 있는지&lt;/li&gt;
  &lt;li&gt;확률변수 하나의 대해서 측정 한 것
    &lt;blockquote&gt;
      &lt;p&gt;ex)&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;동전에서 앞면이 나오는 사건의 정보량 :  \(-log_2(\frac{1}{2}) = 1\)&lt;/li&gt;
        &lt;li&gt;주사위에서 1이 나오는 사건의 정보량  : \(-log_2(\frac{1}{6}) ≒ 2.58\)&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;entropy&quot;&gt;entropy&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;확률 변수 \(x\)의 불확실성을 나타내는 것&lt;/li&gt;
  &lt;li&gt;전체 사건 정보량을 기대값으로 표현&lt;/li&gt;
  &lt;li&gt;이산확률 분포 : \(H(x) = - \sum_{i =1,k}  P(e_i)log_2P(e_i)\)  or \(-\sum_{i =1,k} P(e_i)log_eQ(e_i)\)&lt;/li&gt;
  &lt;li&gt;연속확률분포 : \(H(x) = - \int_R  P(x)log_2P(x)\) or \(-\int_R P(x)log_eQ(x)\)&lt;/li&gt;
  &lt;li&gt;정보를 얼마만큼 보내느냐에 대한 관점&lt;/li&gt;
  &lt;li&gt;확률간의 두 분포를 얼마만큼 유사한지 측정하는 척도로 사용&lt;/li&gt;
  &lt;li&gt;모든 사건이 동일한 확률 -&amp;gt; 어떤 사건이 일어날지 예측이 어려움  -&amp;gt; 불확실성이 큼 -&amp;gt; entropy가 높음 -&amp;gt; 더 큰 정보&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;cross-entropy&quot;&gt;cross entropy&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;
    &lt;dl&gt;
      &lt;dt&gt;두개의 확률 분포가 얼마만큼 정보를 공유하고 있는지의 대한 척도 &lt;/dt&gt;
      &lt;dt&gt; \(H(P,Q) = - \sum_x P(x)log_2Q(x) = -\sum_x P(e_i)log_2Q(e_i)\)&lt;/dt&gt;
      &lt;dd&gt;
\[H(P,Q) = - \sum_x P(x)log_2Q(x) = H(P) + \sum_x P(x)log_2\frac{P(x)}{Q(x)}\]
      &lt;/dd&gt;
    &lt;/dl&gt;
  &lt;/li&gt;
  &lt;li&gt;\(\sum_xP(x)log_2\frac{P(x)}{Q(x)}\) : KL divergence
    &lt;blockquote&gt;
      &lt;p&gt;KL divergence :  두 확률분포간의 거리를 계산할때 주로 사용&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;deep learning 의  loss fuction으로도 많이 사용&lt;/li&gt;
  &lt;li&gt;데이터  분포 P는 학습 과정에서 변화 X
    &lt;blockquote&gt;
      &lt;p&gt;주어진 데이터 이기때문에 변화가 없다.&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;cross entropy를 loss fuction으로 사용하는 경우 -&amp;gt; KL divergenc를 최소화 하는거와 동일하다.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;reference&quot;&gt;Reference&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;기계학습(오일석)&lt;/li&gt;
  &lt;li&gt;이재구(인공지능/2022)(국민대)&lt;/li&gt;
&lt;/ul&gt;</content><author><name>Ahnho</name></author><category term="DL" /><category term="Color" /><summary type="html">Information theory basic for ML : event가 지닌 정보를 정량화 할 수 있나? 기본원리 : 확률이 작을수록 많은 정보를 가진다</summary></entry><entry><title type="html">Problem design(CV)</title><link href="https://ahnho.github.io/2022/09/11/Problem-design.html" rel="alternate" type="text/html" title="Problem design(CV)" /><published>2022-09-11T00:00:00+00:00</published><updated>2022-09-11T00:00:00+00:00</updated><id>https://ahnho.github.io/2022/09/11/Problem%20design</id><content type="html" xml:base="https://ahnho.github.io/2022/09/11/Problem-design.html">&lt;h1 id=&quot;problem-designcv&quot;&gt;Problem design(CV)&lt;/h1&gt;

&lt;h2 id=&quot;1-흭득과-표현&quot;&gt;1. 흭득과 표현&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;사람은 눈으로 시각 정보를 얻고 기계는 카메라를 통해 시각정보를 얻는다.&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;blockquote&gt;
  &lt;ul&gt;
    &lt;li&gt;수정체 : 렌즈&lt;/li&gt;
    &lt;li&gt;망막 : CCD 센서&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;11-샘플링과-양자화&quot;&gt;1.1. 샘플링과 양자화&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;image : 3D -&amp;gt; 2D (M by N 으로 샘플링하고 이 크기를 해상라고 한다)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;명암은 L단계로 양자화 -&amp;gt; [0,L-1]에 분포&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;ex) L = 10 일 경우 [0,9]로 나타냄&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;M.N,L : W.H.C (1-channel)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;12-영상좌표계&quot;&gt;1.2. 영상좌표계&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;화소 위치를 x = (j,i) or x= (y,x)로 표기 (pixel)&lt;/li&gt;
  &lt;li&gt;영상 : f(x) or f(j,i) or 0 &amp;lt;= j &amp;lt;= M-1, 0 &amp;lt;= i &amp;lt;= N-1로 표김 (크기 = (N,M))&lt;/li&gt;
  &lt;li&gt;컬러 영상 : RGB -&amp;gt; fr(x), fg(x), fb(x) 3channel로 구성&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;13-영상-표시-방법&quot;&gt;1.3. 영상 표시 방법&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;숫자 배열&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;지형 그래프&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;2-컴퓨터-비전-문제-해결&quot;&gt;2. 컴퓨터 비전 문제 해결&lt;/h2&gt;

&lt;h3 id=&quot;21-과학적-접근&quot;&gt;2.1. 과학적 접근&lt;/h3&gt;

&lt;p&gt;Goal : 사람의 시각에 맞먹는 인공 시각을 만든다. (제약이 없는 상황)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;사람의 시각원리를 분석해 컴퓨터로 모방&lt;/li&gt;
  &lt;li&gt;주요 관심사 : 뇌과학&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;지식표현, 학습 추론 ,창작등에 초점을 둔다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;단점:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;ul&gt;
    &lt;li&gt;3D -&amp;gt; 2D -&amp;gt; 3D 로 차원을 바꾸고 다시 변환시 3차원정보를 손실한다.&lt;/li&gt;
    &lt;li&gt;기하학전 변환, 광도 변환등 여러가지 변형이 발생하여 힘들다.&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;22-공학적-접근&quot;&gt;2.2. 공학적 접근&lt;/h3&gt;

&lt;p&gt;Goal : 한정된 범위 에서 특정한 임무를 달성하는 인공시각을 만든다.(제약이 있는상황)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;특정상황에 맞는 실용 시스템 구축을 해야한다.&lt;/li&gt;
  &lt;li&gt;제약이 있는 상황이다 보니 많은 응용 현장에서 사용이 된다.&lt;/li&gt;
  &lt;li&gt;사람보다 뛰어난 경우가 존재한다.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;ex) 엔진 실린더 정밀 측정, 칩 검사 등 ..&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;과학적 접근과 비슷한 단점이 존재하고 실용적으로 사용할정도로 성능을 끌어올리기 힘들다.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;23-계층적-처리&quot;&gt;2.3. 계층적 처리&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;전처리&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
  &lt;p&gt;영상 처리&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
  &lt;li&gt;특징 추출&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
  &lt;p&gt;선분, 영역 , 텍스처 , 지역, 엣지 특징등을 검출하여 벡터 추출&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
  &lt;li&gt;해석&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;24-시스템-설계&quot;&gt;2.4. 시스템 설계&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;문제이해&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
  &lt;p&gt;합리적 제약 조건 수립이 필요하다.&lt;/p&gt;

  &lt;p&gt;ex) 얼굴 인식기.&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;ul&gt;
      &lt;li&gt;크기가 일정한 정면 얼굴 -&amp;gt; 제작이 쉬움 + 보안 장치에 활용가능 + 사진분류 응용에는 어려움&lt;/li&gt;
      &lt;li&gt;자연 영상 속의 얼굴 -&amp;gt; 위와 반대 케이스&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
  &lt;li&gt;데이터베이스 수집&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
  &lt;ul&gt;
    &lt;li&gt;질,양적으로 모두 우수해야 고성능 모델을 제작 가능&lt;/li&gt;
    &lt;li&gt;training set, test set 필요&lt;/li&gt;
    &lt;li&gt;수집 방법&lt;/li&gt;
  &lt;/ul&gt;

  &lt;blockquote&gt;
    &lt;ul&gt;
      &lt;li&gt;직접수집 or 인터넷&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;알고리즘 설계 및 구현&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;성능평가&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;</content><author><name>Ahnho</name></author><category term="DL" /><category term="CV" /><category term="Color" /><summary type="html">Problem design(CV) 1. 흭득과 표현 사람은 눈으로 시각 정보를 얻고 기계는 카메라를 통해 시각정보를 얻는다.</summary></entry><entry><title type="html">introduction of Machine Learning 1</title><link href="https://ahnho.github.io/2022/09/11/intro_ML_1.html" rel="alternate" type="text/html" title="introduction of Machine Learning 1" /><published>2022-09-11T00:00:00+00:00</published><updated>2022-09-11T00:00:00+00:00</updated><id>https://ahnho.github.io/2022/09/11/intro_ML_1</id><content type="html" xml:base="https://ahnho.github.io/2022/09/11/intro_ML_1.html">&lt;h1 id=&quot;introduction-of-machine-learning-1&quot;&gt;introduction of Machine Learning 1&lt;/h1&gt;

&lt;p&gt;Artificial Intelligence :&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;인간의 학습, 추론, 지각, 자연언어 이해 등의 지능적 능력을 인공적으로 구현하려는 컴퓨터 과학의 세부분야&lt;/p&gt;
&lt;/blockquote&gt;

&lt;!--more--&gt;

&lt;p&gt;Goal :&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;사람 처럼&lt;/strong&gt; 생각하는 기계를 만드는것&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;주요 사례 :&lt;/p&gt;

&lt;blockquote&gt;
  &lt;ul&gt;
    &lt;li&gt;로봇&lt;/li&gt;
    &lt;li&gt;자율주행&lt;/li&gt;
    &lt;li&gt;실시간 번역&lt;/li&gt;
    &lt;li&gt;실시간 객체인식 등.. 많음&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;stage-of&quot;&gt;Stage of&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Super AI&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;:인간을 넘어서는 영역&lt;/p&gt;

  &lt;p&gt;:: 모든 인류의 지성을 합친것 보다 뛰어난 인공지능&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;Strong AI&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;: 인간이 할 수 있는 지적업무를 성공적으로 해낼 수 있는 인공지능&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;weak AI&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;: 인간의 지시한 명령의 틀 안에서만 일 하는 인공지능&lt;/p&gt;

  &lt;p&gt;:: 예측,관리가 용이하고 특정분야에만 일할수있기 때문에 종합적 판단이 한계를 나타냄.&lt;/p&gt;

  &lt;p&gt;:: 요즘 빠르게 발전&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;machine-learning&quot;&gt;Machine Learning&lt;/h2&gt;

&lt;p&gt;:  인공지능의 하위 범주로, 컴퓨터가 학습을 통해 패턴을 파악해 특정 프로그래밍 없이 데이터 기반으로 예측을 하여 필요한 작업을 수행하는것.&lt;/p&gt;

&lt;p&gt;학습: 경험의 결과로 나타난는, 비교적 지속적인 행동의 변화나 그 잼재력의 변화 or  지식을 습득하는 과정&lt;/p&gt;

&lt;h2 id=&quot;프로그래밍과-기계학습의-차이&quot;&gt;프로그래밍과 기계학습의 차이&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;programming :  컴퓨터에  입력값과 프로그램 코드를 주면 출력값을 준다.&lt;/li&gt;
  &lt;li&gt;ML : 컴퓨터에 입,출력값을 주면 학습을 하요 프로그램 코드와 비슷한 역할을 하는 모델을 생성한다.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;type-of-ml&quot;&gt;Type of ML&lt;/h2&gt;

&lt;h3 id=&quot;supervised-learning&quot;&gt;supervised learning&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;특징 벡터 x,  목표치 y가 모두 주어진상황&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;regression, classification으로 예측하는 상황에서 사용(ex) 주식 등..)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;unsupervised-learning&quot;&gt;unsupervised learning&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;특징 벡터 x만 존재  목표치 y는 주어지지 않는 상황&lt;/li&gt;
  &lt;li&gt;clustering 과업(ex)고객 성향에 맞게 홍보 등 ..)&lt;/li&gt;
  &lt;li&gt;density estimation, 특징 공간 변환 과업(ex) PCA)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;reinforcement-learning&quot;&gt;reinforcement learning&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;목표치 y대치 reward를 주어 reward 가 높아지는 쪽으로 학습을 진해&lt;/li&gt;
  &lt;li&gt;황경에 맞는 상호관계를 통한 학습을 진행한다 (action/policy)&lt;/li&gt;
  &lt;li&gt;ex) 바둑(알파고), 게임&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;semi-supervised-learning&quot;&gt;semi-supervised learning&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;supervised learning와 같이 x,y 값이 주어지긴하지만 일부만 모두가지고 나머지들은  x만을 가진 상황이다.&lt;/li&gt;
  &lt;li&gt;데이터 x의 수집은 어렵지만  y의 수작업이 필요하여 최근 중요성이 부각되고 있다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;type-of-ml-model&quot;&gt;Type of ML model&lt;/h2&gt;

&lt;h3 id=&quot;online-model-and-offline-model&quot;&gt;online model and offline model&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;online : 실시간으로 발생하는 데이터를 넣어 점짐적으로 학습&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;offline : 데이터 집합을 모아 합습 (일반적으로 사용하는 방법)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;deterministic-model-and-stochastic-model&quot;&gt;deterministic model and stochastic model&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;deteministic : 데이터 집합을 가지고 학습하면 매번 동일한 결과를 만드는 모델&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;stochastic :  학습과정에 확률분포 요소를 추가하여 같은 데이터여도 수행할때마다 다른 결과를 만들 수 있는 모델&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;discriminative-model-and-generative-model&quot;&gt;discriminative model and generative model&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;table&gt;
      &lt;tbody&gt;
        &lt;tr&gt;
          &lt;td&gt;discriminative : 데이터와 정답 간의 관계,P(y&lt;/td&gt;
          &lt;td&gt;x) 추정이 목적인 모델&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/li&gt;
  &lt;li&gt;generative : 데이터 생성 P(x) 추정이 목적인 모델 -&amp;gt; 새로운 데이터를 생성할 수 있음&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;requirements-for-ml&quot;&gt;Requirements for ML&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;data&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;: 양,질 적으로 좋은 데이터가 필요&lt;/p&gt;

  &lt;p&gt;:: 데이터에 대한 이해도 꼭 필요하다&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;pattern&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;특정 상황에 패턴이 있어야한다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;non closed-form solution&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;함수로 설명할 수 없는 문제여야 한다.&lt;/p&gt;
&lt;/blockquote&gt;</content><author><name>Ahnho</name></author><category term="ML" /><category term="DL" /><category term="Color" /><summary type="html">introduction of Machine Learning 1 Artificial Intelligence : 인간의 학습, 추론, 지각, 자연언어 이해 등의 지능적 능력을 인공적으로 구현하려는 컴퓨터 과학의 세부분야</summary></entry><entry><title type="html">hyperparameter</title><link href="https://ahnho.github.io/2022/09/06/Hyperparameter.html" rel="alternate" type="text/html" title="hyperparameter" /><published>2022-09-06T00:00:00+00:00</published><updated>2022-09-06T00:00:00+00:00</updated><id>https://ahnho.github.io/2022/09/06/Hyperparameter</id><content type="html" xml:base="https://ahnho.github.io/2022/09/06/Hyperparameter.html">&lt;h1 id=&quot;hyperparameter&quot;&gt;hyperparameter&lt;/h1&gt;

&lt;p&gt;: ML에서의 weight, bias 와 같은 주 parameter가 아닌 자동 설정되는 parameter를 의미를 하고 hyperparameter가 잘 설정이 되어있어야 model의 성능이 좋아진다.&lt;/p&gt;

&lt;!--more--&gt;

&lt;blockquote&gt;
  &lt;ul&gt;
    &lt;li&gt;hyperparameter가 설정이 잘못되어 있으면 model의 문제가 없어도 학습이 제대로 되지않는다.
ex)  사람을 예시로 들어서 학생들이 교육을 받거나 학습을 할때 주변 환경이 좋아야 학습이 더 잘되는거가 있다.&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;learning-rate&quot;&gt;Learning rate&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;gradient 방향으로 얼마나 움직일지 결정하는것이다.&lt;/li&gt;
  &lt;li&gt;값을 너무 작게 잡으면 학습 속도가 느려지고 local minima문제가 생길수 있다.&lt;/li&gt;
  &lt;li&gt;값을 너무 크게 잡으면 학습 결과가 수렴을 못하고 계속 진동하는 문제가 생긴다.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;momentum&quot;&gt;momentum&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Gradient desent과정에서 Learning rate만큼 움직이는것이 아니라 momentum을줘서 local minima 문제를 해결하는걸 도와준다&lt;/li&gt;
  &lt;li&gt;여기서 momentum을 준다고 하면 뒤에서 밀어줘서 가속도를 붙여준다고 생각할수 있다.&lt;/li&gt;
  &lt;li&gt;global minima에 수렴할수있도록 도와준다.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;epochs&quot;&gt;Epochs&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;학습을 반복하는 횟수&lt;/li&gt;
  &lt;li&gt;forward ~ backward 까지 1Epoch&lt;/li&gt;
  &lt;li&gt;학습을 많이 한다고해서 꼭 좋은것만 아니다
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;어느 순간부터 error가 증가할 수있디&lt;/li&gt;
        &lt;li&gt;overfitting의 방지를 위하여 early stopping을 사용해준다.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;batch-size&quot;&gt;Batch Size&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;한번의 배치마다 주는 데이터의 size를 의미&lt;/li&gt;
  &lt;li&gt;한번에 학습하기 힘든 큰데이터나 하드웨어에 부담이 될때 사용한다&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;hidden-layer&quot;&gt;hidden layer&lt;/h3&gt;

&lt;h3 id=&quot;weight-initialization&quot;&gt;weight initialization&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;bias는 보통 0으로 초기화&lt;/li&gt;
  &lt;li&gt;weight의 초기화는 학습결과에 영향을 크게 끼치기때문에 초기화를할때 주의를 해줘야한다.&lt;/li&gt;
  &lt;li&gt;보통 무작위로 초기화가 이루어지는데 이때 범위는 $[-l^{-2}, l^{-2}]$로 이루어 짐.
    &lt;blockquote&gt;
      &lt;p&gt;이 l은 input-layer의 있는 뉴런의 개수를 의미&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;</content><author><name>Ahnho</name></author><category term="DL" /><category term="Color" /><summary type="html">hyperparameter : ML에서의 weight, bias 와 같은 주 parameter가 아닌 자동 설정되는 parameter를 의미를 하고 hyperparameter가 잘 설정이 되어있어야 model의 성능이 좋아진다.</summary></entry><entry><title type="html">Attention Cues</title><link href="https://ahnho.github.io/2022/09/01/Attention_Cues.html" rel="alternate" type="text/html" title="Attention Cues" /><published>2022-09-01T00:00:00+00:00</published><updated>2022-09-01T00:00:00+00:00</updated><id>https://ahnho.github.io/2022/09/01/Attention_Cues</id><content type="html" xml:base="https://ahnho.github.io/2022/09/01/Attention_Cues.html">&lt;h1 id=&quot;attention-cues&quot;&gt;Attention Cues&lt;/h1&gt;

&lt;p&gt;: 영장류의 시각 시스템의 시신경은 뇌가 완전히 처리할 수 있는 것보다 훨씬 더 많은 양의 감각 입력을 받는다.( 초당 비트들의 순서로 정보를 수신한다.)&lt;/p&gt;

&lt;!--more--&gt;
&lt;p&gt;하지만 이 자극들이 모두 똑같이 만들어지는 것은 아니다. 의식의 집중은 영장류들이 복잡한 시각 환경에서 먹이, 포식자와 같은 관심있는 물체에 주의를 기울일 수 있게 한다. 이러한 정보를 극히 일부에만 주의를 기울이는 능력은 진화적 의미를 지니고, 인간이 성공 할 수 있게 하였다.(사회화를 위해 자원을 더 현명하게 할당할 수 있게 했다.)&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;attention-cues-in-biology&quot;&gt;Attention Cues in Biology&lt;/h2&gt;

&lt;p&gt;우리의 attention이 시각 세계에 어떻게 배치되는지를 설명하기 위해, 두 가지 구성 요소 프레임 워크가 등장&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;em&gt;non-volitional cue&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
  &lt;p&gt;: 환경 내 물체의 눈에 띄는 정도에 기초한다.&lt;/p&gt;

  &lt;p&gt;ex) 밑에 그림을 처럼 5가지 물체가 있고 그중 4가지는 흑백 , 커피는 빨간컵에 담겨 있다고 생각해보자.&lt;/p&gt;

  &lt;p&gt;그럼 이 커피는 본질적으로 두드러지고 시각적 환경에서 눈에 띄며, 무의 식적으로 관심을 끌게된다.&lt;/p&gt;

  &lt;p&gt;&lt;img src=&quot;https://d2l.ai/_images/eye-coffee.png&quot; alt=&quot;../_images/eye-coffee.png&quot; /&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;em&gt;volitional cue&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
  &lt;dl&gt;
    &lt;dt&gt;ex) 커피로 카페인을 섭취하게 되면 책을 읽고 싶어진다. 그래서 우리는 고개를 돌려 눈에 초점을 다시 맞춰 밑에 그림처럼 책을 본다.&lt;/dt&gt;
    &lt;dd&gt;
      &lt;p&gt;이 경우는 위에 예시와 달리 커피가 인지능력과 자발적인 통제 하에 책을 선택 하게 되었다.&lt;/p&gt;
    &lt;/dd&gt;
  &lt;/dl&gt;

  &lt;p&gt;변수 선택기준에 기반한 volitional cue를 사용하면 이러한 형태의 attention은 더욱 의도적이다.&lt;/p&gt;

  &lt;p&gt;&lt;img src=&quot;https://d2l.ai/_images/eye-book.png&quot; alt=&quot;../_images/eye-book.png&quot; /&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;quries-keys-and-values&quot;&gt;Quries, Keys, and Values&lt;/h2&gt;

&lt;p&gt;: 위의 내용을 통합하여 attention mechanisms 설계&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;em&gt;non-nonvolitional cue&lt;/em&gt; : 간단한 경우를 생각해보면 선택을 편향하기 위해   parameterized 된 fully connected layers 나 non- parameterized 된 max or average pooling 을 간단히 사용할수 있다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;그래서 attention mechanisms 에서 fully connected layer와 pooling layers를 구별하는 것은 &lt;em&gt;nonvolitional cue&lt;/em&gt; 의 포함이다.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;:  volitional cues를 quries라고 부른다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;이런  queries가 주어지면 machanisms은 attention pooling을 통해 sensory input(ex) 중간특징 표현)보다 선택을 편향시킨다.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;: sensory  input 은  attention mechanisms에서 values라고 불린다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;일반적으로 모든 values &amp;amp; keys 는 쌍을 이루며 sensory input의 &lt;em&gt;non-nonvolitional cue&lt;/em&gt; 라고 생각이 할 수 있다.&lt;/li&gt;
  &lt;li&gt;밑에 그림을 보면, 주어진 quries(volitional cue)가 values(sensory input)에 대한 편향 선택을 안내하는 keys(non-volitional cue)와 상호작용할수 있도록 attention pooling을 설게할수 있다.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://d2l.ai/_images/qkv.svg&quot; alt=&quot;../_images/qkv.svg&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;위의 메커니즘 설계를 위한 대안은 많이 있다.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;ex) 강화학습을 통한 미분불가능한 attention model 설계&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;quries 와 key 사의 attention weight를 시각화 가능하다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;참조&quot;&gt;참조&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;https://d2l.ai/index.html&lt;/li&gt;
&lt;/ul&gt;</content><author><name>Ahnho</name></author><category term="DL" /><category term="CV" /><category term="Color" /><category term="Transformers" /><summary type="html">Attention Cues : 영장류의 시각 시스템의 시신경은 뇌가 완전히 처리할 수 있는 것보다 훨씬 더 많은 양의 감각 입력을 받는다.( 초당 비트들의 순서로 정보를 수신한다.)</summary></entry><entry><title type="html">SSD and Bounding Box</title><link href="https://ahnho.github.io/2022/08/02/SSD.html" rel="alternate" type="text/html" title="SSD and Bounding Box" /><published>2022-08-02T00:00:00+00:00</published><updated>2022-08-02T00:00:00+00:00</updated><id>https://ahnho.github.io/2022/08/02/SSD</id><content type="html" xml:base="https://ahnho.github.io/2022/08/02/SSD.html">&lt;h1 id=&quot;ssdsingle-shot-multibox-detector&quot;&gt;SSD(Single Shot MultiBox Detector)&lt;/h1&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;물체감지&quot;&gt;물체감지&lt;/h2&gt;
&lt;p&gt;: 한 장의 사진에 포함된 여러 물체에 대해 영역과 이름을 확인하는 작업&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;:: 화상의 어디에 무엇이 비치는지 알 수 있다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Bounding box(BBox): 물체의 위치를 나타내는 테두리&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;input : 화상, output : 정보 (BBox의 위치와 크기, 라벨 , 검색신뢰도 = confidence)&lt;/p&gt;
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;바운딩 박스의 정보 : 화상의 왼쪽 상단을 원점(0,0)으로 두고 박스의 중심 좌표를 (cs,cy) 높이와 너비를  h,w로 표시한다.&lt;/li&gt;
        &lt;li&gt;라벨정보 : 감지하려는 물체의 클래스 수 O 에 background를 더한 (O+1)종류의 클래스로 각 바운딩 박스당 하나의 라베를 구한다.&lt;/li&gt;
        &lt;li&gt;confidence : 각 바운딩 박스와 라벨의 신뢰도를 보여줌, 신뢰도가 높은 바운딩 박스 하나만을 최종 출력한다.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;ul&gt;
  &lt;li&gt;VOC2012 dataset 사용 : class : 20 , training dataset:5717, validation dataset :5823
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;background를 포함하여 총 21개의 class 사용&lt;/li&gt;
        &lt;li&gt;VOC data는 사진 좌측상단이 (0,0)이 아닌 (1,1)이다.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;ssd의-물체감지-흐름ssd_300&quot;&gt;SSD의 물체감지 흐름(SSD_300)&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;SSD는 입력화상을 300x300 or 512x512 pixel로 처리하는 SSD 300,SSD 512 두가지 패턴이 있다.&lt;/li&gt;
  &lt;li&gt;BBox를 도출할때 BBox의 정보를 출력 하는 것이 아니라, DBox(default box)를 준비해두고 어떻게 변형시키면 BBox가 되는지에 대한 정보를 출력한다.
    &lt;blockquote&gt;
      &lt;p&gt;::  offset 정보 : DBox를 변형시키는 정보&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;DBOX의정보 \((cx_d,cy_d,w_d,h_d)\) 인 경우 offset 정보는\((\Delta cx_d,\Delta cy_d,\Delta w_d,\Delta h_d)\)의 4변수
    &lt;blockquote&gt;
      &lt;ul&gt;
        &lt;li&gt;
\[cx = cx_d + 0.1\Delta cx \times w_d\]
        &lt;/li&gt;
        &lt;li&gt;
\[cy = cy_d + 0.1\Delta cy \times h_d\]
        &lt;/li&gt;
        &lt;li&gt;
\[w = w_d \times exp(0.2 \Delta w)\]
        &lt;/li&gt;
        &lt;li&gt;
\[h = h_d \times exp(0.2 \Delta h)\]
        &lt;/li&gt;
        &lt;li&gt;:: 위 계산식은 이론적으로 도출된 식이 아닌, SSD에서 규정하고 딥러닝 모델을 학습시켜 만들어신 식이다.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;step
    &lt;blockquote&gt;
      &lt;ol&gt;
        &lt;li&gt;전처리로 \(300 \times 300\) pixel로 resize한다… 이때 색 정보의 표준화도 실행&lt;/li&gt;
        &lt;li&gt;다양한 크기 DBox를 준비, SSD_300의 경우 8732개의 DBOX 준비(모든 화상에 대해 동등하게 준비)&lt;/li&gt;
        &lt;li&gt;전처리한 화상을 SSD_net에 입력, offset 4개 클래스 신뢰도 21개의 합계 8732 x (4+21) = 218,300개의 정보 출력&lt;/li&gt;
        &lt;li&gt;8732개의 DBox의 중 condidence가 높은 상위 top_k개를 추출(SSD 300에서는 200개 추출)&lt;/li&gt;
        &lt;li&gt;offset 정보를통해 DBox -&amp;gt; BBox로 변형 step_4에서 꺼낸 top_k개의 DBox중 BBox와 겹치는 것이 많으면 그중 confidence가 높은 BBox만 남긴다.&lt;/li&gt;
        &lt;li&gt;최종적으로 BBox와 라벨을 출력한다.
          &lt;blockquote&gt;
            &lt;p&gt;:: confidence의 임계치를 결정해 그 이상의 confidence를 가장 BBox만 출력 
:: 이때, 잘못된 검출을 피하고 싶으면 임계값을 높이 설정&lt;/p&gt;
          &lt;/blockquote&gt;
        &lt;/li&gt;
      &lt;/ol&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
&lt;/ul&gt;</content><author><name>Ahnho</name></author><category term="DL" /><category term="CV" /><category term="Color" /><summary type="html">SSD(Single Shot MultiBox Detector)</summary></entry><entry><title type="html">Activation Functions</title><link href="https://ahnho.github.io/2022/07/27/activation.html" rel="alternate" type="text/html" title="Activation Functions" /><published>2022-07-27T00:00:00+00:00</published><updated>2022-07-27T00:00:00+00:00</updated><id>https://ahnho.github.io/2022/07/27/activation</id><content type="html" xml:base="https://ahnho.github.io/2022/07/27/activation.html">&lt;h1 id=&quot;activation-functions&quot;&gt;Activation Functions&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;뉴런의 활성화 여부와 weight와 게산을 하고 bias를 추가함을 결정하는 함수&lt;/li&gt;
  &lt;li&gt;입력신호 -&amp;gt; 출력으로 변환 하는 미분 연산자. -&amp;gt; (대부분 비선형성을 추가한다.)&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;relu-function&quot;&gt;ReLU Function&lt;/h2&gt;

\[ReLU(x) = max(x,0)\]

&lt;ul&gt;
  &lt;li&gt;구현이 단순하고, 다양한 에측 작업에서 우수한 성능으로 인기가 많다.&lt;/li&gt;
  &lt;li&gt;최대값과, 0으로 정의&lt;/li&gt;
  &lt;li&gt;활성화를 0으로 설정하여 부정적인 요소를 모두 폐기한다. -&amp;gt; 부분 선형 함수&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://d2l.ai/_images/output_mlp_76f463_15_0.svg&quot; alt=&quot;../_images/output_mlp_76f463_15_0.svg&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;relu-도함수&quot;&gt;ReLU 도함수&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;ReLu 함수에서 음수는 도함수가 0, 양수면 1 이다 .&lt;/li&gt;
  &lt;li&gt;input이 0이면 미분 불가능하다는 점에 유의해야한다.-&amp;gt; 그래서 input: 0 일때 미분 값을 0으로 말한다.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://d2l.ai/_images/output_mlp_76f463_27_0.svg&quot; alt=&quot;../_images/output_mlp_76f463_27_0.svg&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;pReLU : 매개 변수화된 함수를 포함한 변종 : ReLU에 선현 항을 추가해 음수일때도 일부 정보가 전달이 된다.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/the-dying-relu-problem-clearly-explained-42d0c54e0d24&quot;&gt;Dying ReLU Problem&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

\[pLeLU(x) = max(0,x) + \alpha min(0,x)\]

&lt;hr /&gt;

&lt;h2 id=&quot;sigmoid-function&quot;&gt;Sigmoid Function&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;입력값을 넣으면 (0,1)까지의 값으로 반환&lt;/li&gt;
  &lt;li&gt;임계값 미만일때는 0, 초과시는 1을 반환&lt;/li&gt;
  &lt;li&gt;이진분류에 대해 확률적으로 해석하고자 할때 activation function으로 자주사용된다.&lt;/li&gt;
&lt;/ul&gt;

\[sigmoid(x) = \frac{1}{1+exp(-x)}\]

&lt;ul&gt;
  &lt;li&gt;Sigmoid :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://d2l.ai/_images/output_mlp_76f463_39_0.svg&quot; alt=&quot;../_images/output_mlp_76f463_39_0.svg&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;하지만 hidden layer에서 훈련하기 쉬운 ReLU로 대체 되었다.&lt;/li&gt;
  &lt;li&gt;sigmoid의 도함수는 입력값이 0일때 최대 값에 도달한다.&lt;/li&gt;
&lt;/ul&gt;

\[\frac{d}{dx}sigmoid(x) = sigmoid(x)(1-sigmoid(x))\]

&lt;ul&gt;
  &lt;li&gt;Sigmoid 도함수&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://d2l.ai/_images/output_mlp_76f463_51_0.svg&quot; alt=&quot;../_images/output_mlp_76f463_51_0.svg&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;tanh-function&quot;&gt;Tanh Function&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;(-1,1)까지의 값을 반환&lt;/li&gt;
  &lt;li&gt;sigmoid처럼 입력값이 0에 가까울 수록 선형변환에 접근한다.&lt;/li&gt;
  &lt;li&gt;sigmoid와 모양은 비슷하지만 원점에 대한 점대칭이다.&lt;/li&gt;
&lt;/ul&gt;

\[tanh(x) = \frac{1-exp(-2x)}{1+exp(-2x)}\]

&lt;ul&gt;
  &lt;li&gt;Tanh :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://d2l.ai/_images/output_mlp_76f463_63_0.svg&quot; alt=&quot;../_images/output_mlp_76f463_63_0.svg&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;sigmoid처럼 도함수에서 입력값이 0에 가까워질수록 최대값에 접근한다.&lt;/li&gt;
&lt;/ul&gt;

\[\frac{d}{dx}tanh(x) = 1-tanh^2(x)\]

&lt;ul&gt;
  &lt;li&gt;Tanh 도함수 :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://d2l.ai/_images/output_mlp_76f463_75_0.svg&quot; alt=&quot;../_images/output_mlp_76f463_75_0.svg&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;참조&quot;&gt;참조&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;https://d2l.ai/index.html&lt;/li&gt;
&lt;/ul&gt;</content><author><name>Ahnho</name></author><category term="DL" /><category term="CV" /><category term="Color" /><summary type="html">Activation Functions 뉴런의 활성화 여부와 weight와 게산을 하고 bias를 추가함을 결정하는 함수 입력신호 -&amp;gt; 출력으로 변환 하는 미분 연산자. -&amp;gt; (대부분 비선형성을 추가한다.)</summary></entry><entry><title type="html">Dropout</title><link href="https://ahnho.github.io/2022/07/27/dropout.html" rel="alternate" type="text/html" title="Dropout" /><published>2022-07-27T00:00:00+00:00</published><updated>2022-07-27T00:00:00+00:00</updated><id>https://ahnho.github.io/2022/07/27/dropout</id><content type="html" xml:base="https://ahnho.github.io/2022/07/27/dropout.html">&lt;h1 id=&quot;dropout&quot;&gt;Dropout&lt;/h1&gt;

&lt;p&gt;:: 딥러닝 학습의 문제중 하나인 Overfitting 해결하기 위한 방법중 하나이며, hidden layer의 일부 유닛을 동작하지 않게 하여 문제를 해결한다.&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;overfitting-revisited&quot;&gt;Overfitting Revisited&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;예제보다 feature가 더많으면 선형 모델은 overfitting 되는 경향이 있다.&lt;/li&gt;
  &lt;li&gt;위와 반대 되는경우 일반화가 잘됬다는 걸 기대할 수있지만 역으로 overfitting 될 수도있다.&lt;/li&gt;
  &lt;li&gt;일반화 가능성과 유연성 : bias-variance tradeoff&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;robustness-through-perturbations&quot;&gt;Robustness through Perturbations&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;네트워크를 훈련시킬때 각각에 계층에 노이즈를 주입하면 입출력 매핑에서만 평활성이 강화된다.&lt;/li&gt;
  &lt;li&gt;dropout: forward propagation 하는동안 각 내부층을 계산할때 노이즈 를 주입하는것을 포함 , 뉴런을 떨어 뜨리기때문에 drop out이라 불린다.&lt;/li&gt;
  &lt;li&gt;이때 노이즈를 주입하는법 :  각층의 기대값이 다른층을 고정하는 동안 노이즈가 없는 값과 같도록 편향되지 않는 방식으로 주입하는 것이다.&lt;/li&gt;
  &lt;li&gt;표준 드롭아웃 정규화에서는 드롭 아웃되지 않은 비률로 정규화를 진행시켜 각 계층을 약화 시킨다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;dropout-in-practice&quot;&gt;Dropout in Practice&lt;/h2&gt;

&lt;p&gt;: ex) 5개의 hidden unit을 갖는 한개의 은닉층을 사용하는 MLP&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;dropout의 확률 P로 hidden unit을 제거한다.(출력을 0으로 설정)_(아래 그림 참고)&lt;/li&gt;
  &lt;li&gt;제거된 hidden unit backpropgation시 사용되지않고 gradient에도 적용되지 않는다.&lt;/li&gt;
  &lt;li&gt;그럼 output layer 계산시 하나에 의존하는 경우는 없어진다. -&amp;gt; overfitting 문제해결&lt;/li&gt;
  &lt;li&gt;dropout은 regularization 목적을 위해서 필요한 스킬이다.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://d2l.ai/_images/dropout2.svg&quot; alt=&quot;../_images/dropout2.svg&quot; /&gt;
&lt;!-- &lt;img src= &quot;/_portfolio/dropout.png&quot; width=&quot;900px&quot; height=&quot;600px&quot; title=&quot;image&quot;/&gt; --&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;일반적으로 테스트시 드롭아웃을 비활성화한다.&lt;/li&gt;
  &lt;li&gt;하지만 일부 연구에서 불확실성을 추정하기 위해 휴리스틱으로 테스트시 드롭아웃을 사용한다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;dropout은 차원수 조절, weight vector 크기 제어와 같이 overfitting문제를 해결하는 방법중 하나이다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;참조&quot;&gt;참조&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;https://d2l.ai/index.html&lt;/li&gt;
&lt;/ul&gt;</content><author><name>Ahnho</name></author><category term="DL" /><category term="CV" /><category term="Color" /><summary type="html">Dropout :: 딥러닝 학습의 문제중 하나인 Overfitting 해결하기 위한 방법중 하나이며, hidden layer의 일부 유닛을 동작하지 않게 하여 문제를 해결한다.</summary></entry></feed>