<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Euisaac Toast</title>
    <link>https://euisaac.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 3 Sep 2026 08:05:43 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Euisaac</managingEditor>
    <image>
      <title>Euisaac Toast</title>
      <url>https://tistory1.daumcdn.net/tistory/7015003/attach/aa711624da2a4425bef8c9b7fd29a3eb</url>
      <link>https://euisaac.tistory.com</link>
    </image>
    <item>
      <title>꽃-벌 최단 경로 계산 알고리즘</title>
      <link>https://euisaac.tistory.com/27</link>
      <description>&lt;pre style=&quot;padding:20px; line-height:2; font-size:13px; background: transparent; border: none;&quot;&gt;
&lt;span style=&quot;color:#6a9955&quot;&gt;# 최단경로&lt;/span&gt;
&lt;span style=&quot;color:#6a9955&quot;&gt;# 그래프 초기화&lt;/span&gt;
graph = 그래프 생성()
graph.add_edges([(&lt;span style=&quot;color:#dcdcaa&quot;&gt;벌&lt;/span&gt;, &lt;span style=&quot;color:#dcdcaa&quot;&gt;꽃A&lt;/span&gt;), (&lt;span style=&quot;color:#dcdcaa&quot;&gt;꽃A&lt;/span&gt;, &lt;span style=&quot;color:#dcdcaa&quot;&gt;꽃B&lt;/span&gt;), ..., (&lt;span style=&quot;color:#dcdcaa&quot;&gt;꽃n&lt;/span&gt;, &lt;span style=&quot;color:#dcdcaa&quot;&gt;벌통&lt;/span&gt;)])  &lt;span style=&quot;color:#6a9955&quot;&gt;# 간선 생성&lt;/span&gt;
graph.es[&lt;span style=&quot;color:#ce9178&quot;&gt;&quot;거리&quot;&lt;/span&gt;] = [d1, d2, ...]  &lt;span style=&quot;color:#6a9955&quot;&gt;# 거리 가중치 순서대로 설정&lt;/span&gt;

&lt;span style=&quot;color:#6a9955&quot;&gt;# 상태 초기화&lt;/span&gt;
&lt;span style=&quot;color:#ce9178&quot;&gt;dist&lt;/span&gt; = {&lt;span style=&quot;color:#dcdcaa&quot;&gt;벌&lt;/span&gt;: 0, &lt;span style=&quot;color:#dcdcaa&quot;&gt;꽃A&lt;/span&gt;: ∞, &lt;span style=&quot;color:#dcdcaa&quot;&gt;꽃B&lt;/span&gt;: ∞, ..., &lt;span style=&quot;color:#dcdcaa&quot;&gt;벌통&lt;/span&gt;: ∞}     &lt;span style=&quot;color:#6a9955&quot;&gt;#  시작 노드(벌)에서 해당 노드까지의 최단 거리&lt;/span&gt;
                                                       &lt;span style=&quot;color:#6a9955&quot;&gt;# 시작 노드는 0, 나머지는 무한대&lt;/span&gt;
&lt;span style=&quot;color:#4ec9b0&quot;&gt;prev&lt;/span&gt; = {&lt;span style=&quot;color:#dcdcaa&quot;&gt;벌&lt;/span&gt;: None, &lt;span style=&quot;color:#dcdcaa&quot;&gt;꽃A&lt;/span&gt;: None, ..., &lt;span style=&quot;color:#dcdcaa&quot;&gt;벌통&lt;/span&gt;: None}  &lt;span style=&quot;color:#6a9955&quot;&gt;# 최단 경로 역추적용&lt;/span&gt;
                                                      &lt;span style=&quot;color:#6a9955&quot;&gt;# 더 짧은 경로 발견 시 갱신&lt;/span&gt;
&lt;span style=&quot;color:#c586c0&quot;&gt;우선순위 큐&lt;/span&gt; = [(0, &lt;span style=&quot;color:#dcdcaa&quot;&gt;벌&lt;/span&gt;)]        &lt;span style=&quot;color:#6a9955&quot;&gt;# (거리, 노드) 형태로 저장, 거리=시작노드부터의 누적거리&lt;/span&gt;
                              &lt;span style=&quot;color:#6a9955&quot;&gt;# 다음 탐색 노드의 거리와 노드 저장, 꺼낼 때 거리 짧은 순으로 나옴&lt;/span&gt;

&lt;span style=&quot;color:#6a9955&quot;&gt;# 다익스트라 이동&lt;/span&gt;
&lt;span style=&quot;color:#569cd6&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color:#c586c0&quot;&gt;우선순위 큐&lt;/span&gt;가 비어있지 않다:      &lt;span style=&quot;color:#6a9955&quot;&gt;# 탐색할 후보가 남아있는 동안 반복&lt;/span&gt;
    현재 거리, &lt;span style=&quot;color:#dcdcaa&quot;&gt;현재 노드&lt;/span&gt; = &lt;span style=&quot;color:#c586c0&quot;&gt;우선순위 큐&lt;/span&gt;에서 거리가 가장 짧은 노드 꺼내기  &lt;span style=&quot;color:#6a9955&quot;&gt;# 큐에서 (거리, 노드) 꺼내서 저장&lt;/span&gt;
    &lt;span style=&quot;color:#569cd6&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color:#dcdcaa&quot;&gt;현재 노드&lt;/span&gt; == &lt;span style=&quot;color:#dcdcaa&quot;&gt;벌통&lt;/span&gt;:    &lt;span style=&quot;color:#6a9955&quot;&gt;# 벌통 도착 시 종료&lt;/span&gt;
        &lt;span style=&quot;color:#569cd6&quot;&gt;break&lt;/span&gt;
    &lt;span style=&quot;color:#569cd6&quot;&gt;elif&lt;/span&gt; 현재 거리 &gt; &lt;span style=&quot;color:#ce9178&quot;&gt;dist&lt;/span&gt;[&lt;span style=&quot;color:#dcdcaa&quot;&gt;현재 노드&lt;/span&gt;]:  &lt;span style=&quot;color:#6a9955&quot;&gt;# 이미 더 짧은 경로로 방문했으면 스킵&lt;/span&gt;
        &lt;span style=&quot;color:#569cd6&quot;&gt;continue&lt;/span&gt;
    &lt;span style=&quot;color:#569cd6&quot;&gt;else&lt;/span&gt;: &lt;span style=&quot;color:#6a9955&quot;&gt;# 현재 노드의 거리가 저장된 거리보다 짧거나 같은 경우만 탐색을 진행&lt;/span&gt;
        이동 가능한 노드 = [&lt;span style=&quot;color:#dcdcaa&quot;&gt;현재 노드&lt;/span&gt;와 연결된 노드 목록]  &lt;span style=&quot;color:#6a9955&quot;&gt;# 현재 노드의 주변 노드 탐색&lt;/span&gt;
        &lt;span style=&quot;color:#569cd6&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color:#dcdcaa&quot;&gt;다음 노드&lt;/span&gt; &lt;span style=&quot;color:#569cd6&quot;&gt;in&lt;/span&gt; 이동 가능한 노드:
            새 거리 = 현재 거리 + (&lt;span style=&quot;color:#dcdcaa&quot;&gt;현재 노드&lt;/span&gt;와 &lt;span style=&quot;color:#dcdcaa&quot;&gt;다음 노드&lt;/span&gt; 사이의 거리)
            &lt;span style=&quot;color:#569cd6&quot;&gt;if&lt;/span&gt; 새 거리 &amp;lt; &lt;span style=&quot;color:#ce9178&quot;&gt;dist&lt;/span&gt;[&lt;span style=&quot;color:#dcdcaa&quot;&gt;다음 노드&lt;/span&gt;]:  &lt;span style=&quot;color:#6a9955&quot;&gt;# 현재 노드에 인접한 노드들이 저장된 거리보다 짧을 경우만 갱신&lt;/span&gt;
                &lt;span style=&quot;color:#ce9178&quot;&gt;dist&lt;/span&gt;[&lt;span style=&quot;color:#dcdcaa&quot;&gt;다음 노드&lt;/span&gt;] = 새 거리  &lt;span style=&quot;color:#6a9955&quot;&gt;# 거리 갱신&lt;/span&gt;
                &lt;span style=&quot;color:#4ec9b0&quot;&gt;prev&lt;/span&gt;[&lt;span style=&quot;color:#dcdcaa&quot;&gt;다음 노드&lt;/span&gt;] = &lt;span style=&quot;color:#dcdcaa&quot;&gt;현재 노드&lt;/span&gt;  &lt;span style=&quot;color:#6a9955&quot;&gt;# 경로 갱신&lt;/span&gt;
                &lt;span style=&quot;color:#c586c0&quot;&gt;우선순위 큐&lt;/span&gt;에 (새 거리, &lt;span style=&quot;color:#dcdcaa&quot;&gt;다음 노드&lt;/span&gt;) 추가  &lt;span style=&quot;color:#6a9955&quot;&gt;# 발견한 주변 노드를 우선순위 큐에 넣음&lt;/span&gt;

&lt;span style=&quot;color:#6a9955&quot;&gt;# 최단 경로 역추적&lt;/span&gt;
방문 경로 = []
&lt;span style=&quot;color:#dcdcaa&quot;&gt;현재 노드&lt;/span&gt; = &lt;span style=&quot;color:#dcdcaa&quot;&gt;벌통&lt;/span&gt;
&lt;span style=&quot;color:#569cd6&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color:#dcdcaa&quot;&gt;현재 노드&lt;/span&gt; != None:
    방문 경로 앞에 &lt;span style=&quot;color:#dcdcaa&quot;&gt;현재 노드&lt;/span&gt; 추가
    &lt;span style=&quot;color:#dcdcaa&quot;&gt;현재 노드&lt;/span&gt; = &lt;span style=&quot;color:#4ec9b0&quot;&gt;prev&lt;/span&gt;[&lt;span style=&quot;color:#dcdcaa&quot;&gt;현재 노드&lt;/span&gt;]
&lt;span style=&quot;color:#6a9955&quot;&gt;# 결과: 방문 경로 = [벌, 꽃A, 꽃C, 벌통] 처럼 최단 경로가 완성됨&lt;/span&gt;

&lt;span style=&quot;color:#6a9955&quot;&gt;# 결과 출력&lt;/span&gt;
print(총 이동 거리: &lt;span style=&quot;color:#ce9178&quot;&gt;dist&lt;/span&gt;[&lt;span style=&quot;color:#dcdcaa&quot;&gt;벌통&lt;/span&gt;], 방문 경로)
&lt;/pre&gt;</description>
      <author>Euisaac</author>
      <guid isPermaLink="true">https://euisaac.tistory.com/27</guid>
      <comments>https://euisaac.tistory.com/27#entry27comment</comments>
      <pubDate>Wed, 8 Apr 2026 15:13:06 +0900</pubDate>
    </item>
    <item>
      <title>꽃-벌 이동 알고리즘</title>
      <link>https://euisaac.tistory.com/26</link>
      <description>&lt;style&gt;
.code-block { font-family: var(--font-mono); font-size: 13px; line-height: 1.7; background: var(--color-background-secondary); border: 0.5px solid var(--color-border-tertiary); border-radius: var(--border-radius-lg); padding: 1.25rem 1.5rem; overflow-x: auto; }
.kw { color: #569cd6; }
.cm { color: #6a9955; }
.fn { color: #dcdcaa; }
.st { color: #ce9178; }
.sv { color: #9cdcfe; }
.tv { color: #f0a070; }
.op { color: #d4d4d4; }
.tx { color: var(--color-text-primary); }
&lt;/style&gt;
&lt;div class=&quot;code-block&quot;&gt;
&lt;span class=&quot;cm&quot;&gt;# 그래프 초기화&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;tx&quot;&gt;graph&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;fn&quot;&gt;그래프 생성&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;()&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;tx&quot;&gt;graph&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;fn&quot;&gt;add_edges&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;([(&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;벌, 꽃A&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;), (&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;꽃A, 꽃B&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;), ..., (&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;꽃n, 벌통&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;)])&lt;/span&gt; &lt;span class=&quot;cm&quot;&gt;# 간선 생성&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;tx&quot;&gt;graph&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;es&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;st&quot;&gt;&quot;거리&quot;&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;d1, d2, ...&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;cm&quot;&gt;# 거리 가중치 순서대로 설정&lt;/span&gt;&lt;br&gt;

&lt;br&gt;
&lt;span class=&quot;cm&quot;&gt;# 상태 초기화&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;sv&quot;&gt;current&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;tx&quot;&gt;시작 노드&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;벌&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;)&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;sv&quot;&gt;총 이동거리&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;tx&quot;&gt;0&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;sv&quot;&gt;방문 경로&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;sv&quot;&gt;current&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;cm&quot;&gt;# 지나온 경로 저장&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
&lt;span class=&quot;cm&quot;&gt;# 이동&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;kw&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;sv&quot;&gt;current&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;에 이동 가능한 노드가 존재하는가&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;:&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tv&quot;&gt;이동 가능한 노드&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;sv&quot;&gt;current&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;와 연결된 노드 목록&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;]&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;tv&quot;&gt;이동 가능한 노드&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;에 벌통이 있는가&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;:&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tx&quot;&gt;벌통으로 이동한다.&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;sv&quot;&gt;총 이동 거리&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sv&quot;&gt;총 이동 거리&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sv&quot;&gt;current&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;와 벌통 사이의 거리&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;)&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tx&quot;&gt;방문 경로에 벌통을 추가한다.&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;kw&quot;&gt;break&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;kw&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;:&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tv&quot;&gt;후보 목록&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;tv&quot;&gt;이동 가능한 노드&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;) - (&lt;/span&gt;&lt;span class=&quot;sv&quot;&gt;방문 경로&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;)&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;tv&quot;&gt;후보 목록&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;이 비어있는가&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;?:&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;fn&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st&quot;&gt;&quot;벌통 도달 실패&quot;&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;)&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;kw&quot;&gt;break&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;kw&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;:&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;cm&quot;&gt;# 후보 목록 출력 및 사용자 선택&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;kw&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;tv&quot;&gt;후보&lt;/span&gt; &lt;span class=&quot;kw&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;tv&quot;&gt;후보 목록&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;:&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;fn&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;노드 이름, 거리, 화밀&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;)&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tv&quot;&gt;다음 꽃&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;fn&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st&quot;&gt;&quot;노드 이름 입력: &quot;&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;)&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tv&quot;&gt;다음 꽃&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;으로 이동&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;sv&quot;&gt;총 이동 거리&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sv&quot;&gt;총 이동 거리&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sv&quot;&gt;current&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;와 &lt;/span&gt;&lt;span class=&quot;tv&quot;&gt;다음 꽃&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt; 사이의 거리&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;)&lt;/span&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tx&quot;&gt;방문 경로에 &lt;/span&gt;&lt;span class=&quot;tv&quot;&gt;다음 꽃&lt;/span&gt;&lt;span class=&quot;tx&quot;&gt;을 추가한다.&lt;/span&gt;&lt;br&gt;
&lt;br&gt;

&lt;span class=&quot;cm&quot;&gt;# 결과 출력&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;fn&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sv&quot;&gt;총 이동거리&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;sv&quot;&gt;방문 경로&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;</description>
      <author>Euisaac</author>
      <guid isPermaLink="true">https://euisaac.tistory.com/26</guid>
      <comments>https://euisaac.tistory.com/26#entry26comment</comments>
      <pubDate>Wed, 8 Apr 2026 15:12:33 +0900</pubDate>
    </item>
    <item>
      <title>Git 설치하기 &amp;amp; 기본 명령어</title>
      <link>https://euisaac.tistory.com/25</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Git 설치&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;mac(Homebrew 이용)&lt;/h4&gt;
&lt;pre id=&quot;code_1774836135989&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/bin/bash -c &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Homebrew가 없다면 아래 명령어로 먼저 설치한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1774836284172&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;echo 'eval &quot;$(/opt/homebrew/bin/brew shellenv)&quot;' &amp;gt;&amp;gt; ~/.zprofile
eval &quot;$(/opt/homebrew/bin/brew shellenv)&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;apple silicon mac이라면 PATH도 설정해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1774836318925&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;brew install git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Homebrew 설치가 끝났으면 Git을 설치한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1774836409870&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git --version&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;설치 확인한다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;버전이 뜨면 설치 성공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Windows&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x6tUC/dJMb99Mzu3A/HTHj3K4Pvtv1dOycmVCn6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x6tUC/dJMb99Mzu3A/HTHj3K4Pvtv1dOycmVCn6k/img.png&quot; data-origin-width=&quot;2228&quot; data-origin-height=&quot;1480&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;45.62&quot; style=&quot;width: 45.0852%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x6tUC/dJMb99Mzu3A/HTHj3K4Pvtv1dOycmVCn6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx6tUC%2FdJMb99Mzu3A%2FHTHj3K4Pvtv1dOycmVCn6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2228&quot; height=&quot;1480&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w2OEl/dJMcahjBdKa/rwL7gQ0RNDf5H4yZKeMsqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w2OEl/dJMcahjBdKa/rwL7gQ0RNDf5H4yZKeMsqk/img.png&quot; data-origin-width=&quot;2344&quot; data-origin-height=&quot;1306&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;54.38&quot; style=&quot;width: 53.752024%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w2OEl/dJMcahjBdKa/rwL7gQ0RNDf5H4yZKeMsqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw2OEl%2FdJMcahjBdKa%2FrwL7gQ0RNDf5H4yZKeMsqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2344&quot; height=&quot;1306&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Windows는 git-scm.com에서 설치 파일을 다운로드하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Git 설정&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;정보등록&lt;/h4&gt;
&lt;pre id=&quot;code_1774837179793&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git config --global user.name &quot;깃허브닉네임&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1774837215744&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git config --global user.email &quot;이메일주소&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Git은 커밋할 때마다 누가 했는지 기록해야하기 때문에 내 정보를 등록해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 명령어를 통해 설정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 키 발급&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;HTTPS&lt;/b&gt;는 토큰이라는 일종의 비밀번호를 발급받아서 인증하는 방식이다. 설정이 간단하지만 push할 때마다 토큰을 입력해야 한다. (저장 설정을 하면 생략 가능)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SSH&lt;/b&gt;는 자물쇠(공개 키)와 열쇠(개인 키) 한 쌍을 만들어서 인증하는 방식이다.. 처음 설정이 조금 번거롭지만, 한 번 해두면 비밀번호 없이 자동으로 인증돼서 훨씬 편하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;HTTPS 방식&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Windows&lt;/b&gt;는 credential.helper manager 설정만으로 브라우저 로그인을 통해 자동 인증이 된다. 별도의 토큰 발급이 필요 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Mac&lt;/b&gt;은 브라우저 로그인 방식을 지원하지 않아 PAT 토큰을 직접 발급해야 한다. 따라서 Mac 사용자라면 SSH 방식을 추천한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;windows&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1775013105553&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git config --global credential.helper manager&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; &lt;/b&gt;git push 할 때 브라우저로 GitHub 로그인 창이 뜬다. 토큰을 따로 발급할 필요 없이 브라우저에서 그냥 로그인하면 자동으로 인증이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Mac&lt;/b&gt;(HTTPS &amp;mdash; PAT 토큰 발급 방법)&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bu8dWY/dJMcacCBrYG/hbGKQkCiddXqKDIw2HhTK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bu8dWY/dJMcacCBrYG/hbGKQkCiddXqKDIw2HhTK0/img.png&quot; data-origin-width=&quot;2800&quot; data-origin-height=&quot;1286&quot; data-is-animation=&quot;false&quot; style=&quot;width: 59.0414%; margin-right: 10px;&quot; data-widthpercent=&quot;59.74&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bu8dWY/dJMcacCBrYG/hbGKQkCiddXqKDIw2HhTK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbu8dWY%2FdJMcacCBrYG%2FhbGKQkCiddXqKDIw2HhTK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2800&quot; height=&quot;1286&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bV3bTu/dJMcabjpbXO/NBHOi2ZRK18X1ycAfOU0zk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bV3bTu/dJMcabjpbXO/NBHOi2ZRK18X1ycAfOU0zk/img.png&quot; data-origin-width=&quot;2172&quot; data-origin-height=&quot;1480&quot; data-is-animation=&quot;false&quot; style=&quot;width: 39.7958%;&quot; data-widthpercent=&quot;40.26&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bV3bTu/dJMcabjpbXO/NBHOi2ZRK18X1ycAfOU0zk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbV3bTu%2FdJMcabjpbXO%2FNBHOi2ZRK18X1ycAfOU0zk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2172&quot; height=&quot;1480&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Settings &amp;rarr; 왼쪽 메뉴 맨 아래 Developer settings&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Personal access tokens &amp;rarr; Tokens (classic) &amp;rarr; Generate new token (classic)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2826&quot; data-origin-height=&quot;1654&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/do2ynl/dJMcadamMJR/MjUqCkkwBU2D8IMHkpOmi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/do2ynl/dJMcadamMJR/MjUqCkkwBU2D8IMHkpOmi1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/do2ynl/dJMcadamMJR/MjUqCkkwBU2D8IMHkpOmi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdo2ynl%2FdJMcadamMJR%2FMjUqCkkwBU2D8IMHkpOmi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;545&quot; height=&quot;1654&quot; data-origin-width=&quot;2826&quot; data-origin-height=&quot;1654&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Note(이름) 입력 (예: MacBook)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 만료 기간 설정 (No expiration 선택하면 무기한)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. repo 권한 체크&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. Generate token 클릭 &amp;rarr; 토큰 복사 (페이지 나가면 다시 못 봄)&lt;/p&gt;
&lt;pre id=&quot;code_1775014592840&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git config --global credential.helper osxkeychain&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 위 명령어 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 처음 push할 때&lt;br /&gt;Username:&amp;nbsp;깃허브&amp;nbsp;닉네임&lt;br /&gt;Password:&amp;nbsp;발급한&amp;nbsp;토큰&amp;nbsp;붙여넣기&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;SSH 방식&lt;/h3&gt;
&lt;pre id=&quot;code_1775011796205&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ssh-keygen -t ed25519 -C &quot;이메일주소&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SSH 키 생성&lt;/b&gt;: 엔터 3번 눌러서 기본값으로 진행 (비밀번호는 선택사항)&lt;/p&gt;
&lt;pre id=&quot;code_1775011841542&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat ~/.ssh/id_ed25519.pub&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SSH 공개 키 복사&lt;/b&gt;: 출력된 내용 전체(ssh-ed25519 AAAA... 부터 끝까지)를 복사&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DuLYI/dJMcaaLxSTa/NOKo4Yg8k63UcdCooX6nNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DuLYI/dJMcaaLxSTa/NOKo4Yg8k63UcdCooX6nNk/img.png&quot; data-origin-width=&quot;2632&quot; data-origin-height=&quot;1036&quot; data-is-animation=&quot;false&quot; style=&quot;width: 55.972%; margin-right: 10px;&quot; data-widthpercent=&quot;56.63&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DuLYI/dJMcaaLxSTa/NOKo4Yg8k63UcdCooX6nNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDuLYI%2FdJMcaaLxSTa%2FNOKo4Yg8k63UcdCooX6nNk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2632&quot; height=&quot;1036&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmVw2W/dJMcafzkqlU/uIKeHkqud1rPcuslp2kNp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmVw2W/dJMcafzkqlU/uIKeHkqud1rPcuslp2kNp1/img.png&quot; data-origin-width=&quot;2004&quot; data-origin-height=&quot;1030&quot; data-is-animation=&quot;false&quot; style=&quot;width: 42.8652%;&quot; data-widthpercent=&quot;43.37&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmVw2W/dJMcafzkqlU/uIKeHkqud1rPcuslp2kNp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmVw2W%2FdJMcafzkqlU%2FuIKeHkqud1rPcuslp2kNp1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2004&quot; height=&quot;1030&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Github에 등록&lt;/b&gt;:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. GitHub &amp;rarr; Settings &amp;rarr; SSH and GPG keys &amp;rarr; New SSH key&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Title에 이름 입력 (예: MacBook)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Key 칸에 복사한 내용 붙여넣기 &amp;rarr; &lt;b&gt;Add SSH key&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1775012100440&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ssh -T git@github.com&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;연결 확인&lt;/b&gt;: Hi 닉네임! You've successfully authenticated... 메시지가 뜨면 성공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 연결할 때 &quot;Are you sure you want to continue connecting?&quot; 라고 묻는데 yes 입력&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. github 리포지토리 생성&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2798&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FY52l/dJMcaiv0kTZ/iN5EfS7pBoh5I0vkKrtQK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FY52l/dJMcaiv0kTZ/iN5EfS7pBoh5I0vkKrtQK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FY52l/dJMcaiv0kTZ/iN5EfS7pBoh5I0vkKrtQK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFY52l%2FdJMcaiv0kTZ%2FiN5EfS7pBoh5I0vkKrtQK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;647&quot; height=&quot;960&quot; data-origin-width=&quot;2798&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오른쪽 상단의 +아이콘 클릭 -&amp;gt; New repository 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1738&quot; data-origin-height=&quot;1652&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2LS7h/dJMcahKGcTG/YmQrBey3vyFikNi8gM3twK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2LS7h/dJMcahKGcTG/YmQrBey3vyFikNi8gM3twK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2LS7h/dJMcahKGcTG/YmQrBey3vyFikNi8gM3twK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2LS7h%2FdJMcahKGcTG%2FYmQrBey3vyFikNi8gM3twK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;463&quot; height=&quot;440&quot; data-origin-width=&quot;1738&quot; data-origin-height=&quot;1652&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;repository name에 리포지토리 이름을 적고 add README를 on으로 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 후 create repository 클릭하면 리포지토리가 생성된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. git clone(저장소 복제)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원격 저장소(GitHub)에 있는 프로젝트를 내 컴퓨터로 가져오는 명령어&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2744&quot; data-origin-height=&quot;1124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WlUKH/dJMcabqaHgK/9Ly6AFBIrkMsLBpzW1CX80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WlUKH/dJMcabqaHgK/9Ly6AFBIrkMsLBpzW1CX80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WlUKH/dJMcabqaHgK/9Ly6AFBIrkMsLBpzW1CX80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWlUKH%2FdJMcabqaHgK%2F9Ly6AFBIrkMsLBpzW1CX80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;437&quot; height=&quot;179&quot; data-origin-width=&quot;2744&quot; data-origin-height=&quot;1124&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GitHub 저장소 페이지에서 Code 버튼을 누르면 주소를 복사할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SSH, HTTPS 중 본인이 설정한 방식에 맞는 주소를 복사해서 아래 명령어를 실행한다.&lt;/p&gt;
&lt;pre id=&quot;code_1775017752822&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git clone https://github.com/유저명/저장소명.git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;https 방식&lt;/p&gt;
&lt;pre id=&quot;code_1775017772435&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git clone git@github.com:유저명/저장소명.git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SSH 방식&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. git add / git commit / git push / git status&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;git add&lt;/h3&gt;
&lt;pre id=&quot;code_1775017907766&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git add 파일명       # 특정 파일만
git add .           # 변경된 파일 전부&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커밋 전 올릴 파일을 선택하는 명령어다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선택된 파일은 스테이징 영역(커밋 대기 공간)으로 올라간다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;git commit&lt;/h3&gt;
&lt;pre id=&quot;code_1775018050701&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git commit -m &quot;커밋 메시지&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스테이징 영역에 올라간 변경사항을 저장하는 명령어다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커밋 메시지는 어떤 작업을 했는지 간단하게 적어주면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;add+commit&lt;/h3&gt;
&lt;pre id=&quot;code_1775018108137&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git commit -am &quot;커밋 메시지&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 한 번이라도 add한 파일이라면 -am 옵션으로 add와 commit을 한 번에 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 새로 만든 파일은 반드시 git add를 먼저 해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;git push&lt;/h3&gt;
&lt;pre id=&quot;code_1775018217314&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git push&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커밋한 내용을 GitHub에 업로드하는 명령어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;git status&lt;/h3&gt;
&lt;pre id=&quot;code_1775018287211&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 상태를 확인하는 명령어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Untracked files &amp;rarr; Git이 아직 추적하지 않는 새 파일&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Changes not staged for commit &amp;rarr; 수정됐지만 아직 add 안 된 파일&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Changes to be committed &amp;rarr; add 됐고 커밋 대기 중인 파일&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>Euisaac</author>
      <guid isPermaLink="true">https://euisaac.tistory.com/25</guid>
      <comments>https://euisaac.tistory.com/25#entry25comment</comments>
      <pubDate>Wed, 1 Apr 2026 13:43:00 +0900</pubDate>
    </item>
    <item>
      <title>윈도우 명령 프롬프트 기본 명령어 알아보기</title>
      <link>https://euisaac.tistory.com/24</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;디렉토리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;dir&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;628&quot; data-origin-height=&quot;221&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwrYJM/dJMcaaEENIn/HVfUdlQtysnFE3usqktf3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwrYJM/dJMcaaEENIn/HVfUdlQtysnFE3usqktf3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwrYJM/dJMcaaEENIn/HVfUdlQtysnFE3usqktf3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwrYJM%2FdJMcaaEENIn%2FHVfUdlQtysnFE3usqktf3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;628&quot; height=&quot;221&quot; data-origin-width=&quot;628&quot; data-origin-height=&quot;221&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dir: 현재 폴더 안에 있는 파일과 폴더 목록을 보여줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;cd&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;124&quot; data-origin-height=&quot;66&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEeWc8/dJMcaaSb3rc/kNNCyA8dkULcR4YQYGbuKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEeWc8/dJMcaaSb3rc/kNNCyA8dkULcR4YQYGbuKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEeWc8/dJMcaaSb3rc/kNNCyA8dkULcR4YQYGbuKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEeWc8%2FdJMcaaSb3rc%2FkNNCyA8dkULcR4YQYGbuKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;124&quot; height=&quot;66&quot; data-origin-width=&quot;124&quot; data-origin-height=&quot;66&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cd 폴더명: 해당 폴더로 이동합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;cd ..&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;131&quot; data-origin-height=&quot;62&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caOiHx/dJMcabwLdQZ/xFmDHycaL41KFXa9cK69VK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caOiHx/dJMcabwLdQZ/xFmDHycaL41KFXa9cK69VK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caOiHx/dJMcabwLdQZ/xFmDHycaL41KFXa9cK69VK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaOiHx%2FdJMcabwLdQZ%2FxFmDHycaL41KFXa9cK69VK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;131&quot; height=&quot;62&quot; data-origin-width=&quot;131&quot; data-origin-height=&quot;62&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cd .. : 상위 폴더로 한 단계 올라갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;cd \&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;352&quot; data-origin-height=&quot;69&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/umkQu/dJMcah4PZyS/kYankRP192he8L98mm2Qv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/umkQu/dJMcah4PZyS/kYankRP192he8L98mm2Qv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/umkQu/dJMcah4PZyS/kYankRP192he8L98mm2Qv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FumkQu%2FdJMcah4PZyS%2FkYankRP192he8L98mm2Qv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;352&quot; height=&quot;69&quot; data-origin-width=&quot;352&quot; data-origin-height=&quot;69&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cd \ : 최상위 경로(C:)로 바로 이동합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;mkdir&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;610&quot; data-origin-height=&quot;276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjBmXP/dJMcafMJXwT/CJg9ehOJBVXfTg54f5VDmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjBmXP/dJMcafMJXwT/CJg9ehOJBVXfTg54f5VDmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjBmXP/dJMcafMJXwT/CJg9ehOJBVXfTg54f5VDmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjBmXP%2FdJMcafMJXwT%2FCJg9ehOJBVXfTg54f5VDmK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;455&quot; height=&quot;206&quot; data-origin-width=&quot;610&quot; data-origin-height=&quot;276&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mkdir 폴더명: 새 폴더를 만듭니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;rmdir&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;623&quot; data-origin-height=&quot;231&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xdxqA/dJMcajhechP/1vDjbzGPaY3vkf5Cxhgvv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xdxqA/dJMcajhechP/1vDjbzGPaY3vkf5Cxhgvv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xdxqA/dJMcajhechP/1vDjbzGPaY3vkf5Cxhgvv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxdxqA%2FdJMcajhechP%2F1vDjbzGPaY3vkf5Cxhgvv0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;445&quot; height=&quot;165&quot; data-origin-width=&quot;623&quot; data-origin-height=&quot;231&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;rmdir 폴더명: 빈 폴더를 삭제합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;파일 관련&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;copy&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;578&quot; data-origin-height=&quot;348&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/33hkD/dJMcacbnE10/FiPSS37mU8B5lEX5m18BL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/33hkD/dJMcacbnE10/FiPSS37mU8B5lEX5m18BL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/33hkD/dJMcacbnE10/FiPSS37mU8B5lEX5m18BL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F33hkD%2FdJMcacbnE10%2FFiPSS37mU8B5lEX5m18BL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;578&quot; height=&quot;348&quot; data-origin-width=&quot;578&quot; data-origin-height=&quot;348&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;copy 파일명 복사할경로: 파일을 복사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;move&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;537&quot; data-origin-height=&quot;317&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pZTuL/dJMcagY8DJb/52KvQlU3O9OzYDLgKWl1IK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pZTuL/dJMcagY8DJb/52KvQlU3O9OzYDLgKWl1IK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pZTuL/dJMcagY8DJb/52KvQlU3O9OzYDLgKWl1IK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpZTuL%2FdJMcagY8DJb%2F52KvQlU3O9OzYDLgKWl1IK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;537&quot; height=&quot;317&quot; data-origin-width=&quot;537&quot; data-origin-height=&quot;317&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;move 파일명 이동할경로: 파일을 이동합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;del&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;546&quot; data-origin-height=&quot;476&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7SdW5/dJMcadVCd1t/hbyxcaMlg5i4t7lFKK7IB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7SdW5/dJMcadVCd1t/hbyxcaMlg5i4t7lFKK7IB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7SdW5/dJMcadVCd1t/hbyxcaMlg5i4t7lFKK7IB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7SdW5%2FdJMcadVCd1t%2FhbyxcaMlg5i4t7lFKK7IB0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;546&quot; height=&quot;476&quot; data-origin-width=&quot;546&quot; data-origin-height=&quot;476&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;del 파일명: 파일을 삭제합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;ren&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;538&quot; data-origin-height=&quot;259&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d1Dzkk/dJMb99Z3C2I/QdmgVzSQsfQtb3bhHRTDPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d1Dzkk/dJMb99Z3C2I/QdmgVzSQsfQtb3bhHRTDPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d1Dzkk/dJMb99Z3C2I/QdmgVzSQsfQtb3bhHRTDPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd1Dzkk%2FdJMb99Z3C2I%2FQdmgVzSQsfQtb3bhHRTDPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;538&quot; height=&quot;259&quot; data-origin-width=&quot;538&quot; data-origin-height=&quot;259&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ren 기존파일명 새파일명: 파일 이름을 변경합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;type&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;158&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bA7kLN/dJMcacbnE49/IWq0CEdkvROOv4rrPkrmK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bA7kLN/dJMcacbnE49/IWq0CEdkvROOv4rrPkrmK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bA7kLN/dJMcacbnE49/IWq0CEdkvROOv4rrPkrmK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbA7kLN%2FdJMcacbnE49%2FIWq0CEdkvROOv4rrPkrmK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;588&quot; height=&quot;158&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;158&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;type 파일명: 텍스트 파일의 내용을 터미널에서 바로 확인합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>Euisaac</author>
      <guid isPermaLink="true">https://euisaac.tistory.com/24</guid>
      <comments>https://euisaac.tistory.com/24#entry24comment</comments>
      <pubDate>Sun, 22 Mar 2026 01:28:00 +0900</pubDate>
    </item>
    <item>
      <title>UV 설치 방법</title>
      <link>https://euisaac.tistory.com/23</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;UV란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Rust로 만들어진 Python 패키지 관리 도구로, pip&amp;middot;가상환경&amp;middot;Python 버전 관리를 하나로 통합했습니다. 기존에 pip, virtualenv, pyenv, poetry를 따로 설치해야 했던 것을 uv 하나로 해결할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;pip와의 차이점&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pip는 패키지 설치만 담당하지만, uv는 가상환경 생성&amp;middot;Python 버전 관리&amp;middot;의존성 고정까지 한 번에 처리합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;UV 설치&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 방법으로는 스크립트를 이용한 설치와 환경변수를 이용한 설치가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본인 환경에 맞는 방법으로 다운하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;toc-item-2&quot; style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;설치 스크립트&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;macOS 및 Linux&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1774106281085&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;curl -LsSf https://astral.sh/uv/install.sh | sh
# 또는
wget -qO- https://astral.sh/uv/install.sh | sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;윈도우&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1774106378503&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;powershell -ExecutionPolicy ByPass -c &quot;irm https://astral.sh/uv/install.ps1 | iex&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;환경변수 설정&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;779&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgjRht/dJMcaadzYeR/rcukgVYwmoLjDODiJ6t031/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgjRht/dJMcaadzYeR/rcukgVYwmoLjDODiJ6t031/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgjRht/dJMcaadzYeR/rcukgVYwmoLjDODiJ6t031/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgjRht%2FdJMcaadzYeR%2FrcukgVYwmoLjDODiJ6t031%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;348&quot; height=&quot;381&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;779&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/astral-sh/uv/releases&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/astral-sh/uv/releases&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 링크에서 OS 맞는 파일을 다운로드 해줍니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 후 해당 파일을 압축해제 해줍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RcLCs/dJMcadH471S/HR1NUa82nwlx1HPIZYgwM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RcLCs/dJMcadH471S/HR1NUa82nwlx1HPIZYgwM0/img.png&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;796&quot; data-is-animation=&quot;false&quot; width=&quot;344&quot; height=&quot;343&quot; style=&quot;width: 33.2516%; margin-right: 10px;&quot; data-widthpercent=&quot;34.04&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RcLCs/dJMcadH471S/HR1NUa82nwlx1HPIZYgwM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRcLCs%2FdJMcadH471S%2FHR1NUa82nwlx1HPIZYgwM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;798&quot; height=&quot;796&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dT77QS/dJMcabDyftY/ztKLn2MR5nd2kSkOA9kDXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dT77QS/dJMcabDyftY/ztKLn2MR5nd2kSkOA9kDXk/img.png&quot; data-origin-width=&quot;474&quot; data-origin-height=&quot;526&quot; data-is-animation=&quot;false&quot; style=&quot;width: 29.8892%; margin-right: 10px;&quot; data-widthpercent=&quot;30.6&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dT77QS/dJMcabDyftY/ztKLn2MR5nd2kSkOA9kDXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdT77QS%2FdJMcabDyftY%2FztKLn2MR5nd2kSkOA9kDXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;474&quot; height=&quot;526&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JTiN0/dJMcabjgA4w/3QNqUKvspb0Yz6p2d24lX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JTiN0/dJMcabjgA4w/3QNqUKvspb0Yz6p2d24lX0/img.png&quot; data-origin-width=&quot;607&quot; data-origin-height=&quot;583&quot; data-is-animation=&quot;false&quot; style=&quot;width: 34.5336%;&quot; data-widthpercent=&quot;35.36&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JTiN0/dJMcabjgA4w/3QNqUKvspb0Yz6p2d24lX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJTiN0%2FdJMcabjgA4w%2F3QNqUKvspb0Yz6p2d24lX0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;607&quot; height=&quot;583&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;검색창에 '고급'을 검색하면 고급 시스템 설정 보기가 나타납니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고급 시스템 설정 보기 클릭 &amp;rarr; 환경 변수 클릭 &amp;rarr; 시스템 변수에 있는 path 클릭 후 편집 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/barer1/dJMcahRhBeK/oXNsDqaeWKmKFoXUmOtDQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/barer1/dJMcahRhBeK/oXNsDqaeWKmKFoXUmOtDQK/img.png&quot; data-origin-width=&quot;613&quot; data-origin-height=&quot;582&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.1035%; margin-right: 10px;&quot; data-widthpercent=&quot;49.68&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/barer1/dJMcahRhBeK/oXNsDqaeWKmKFoXUmOtDQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbarer1%2FdJMcahRhBeK%2FoXNsDqaeWKmKFoXUmOtDQK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;613&quot; height=&quot;582&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AfhaE/dJMcaflD4ua/s4FZLQys3wgTFDaES6X0rk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AfhaE/dJMcaflD4ua/s4FZLQys3wgTFDaES6X0rk/img.png&quot; data-origin-width=&quot;607&quot; data-origin-height=&quot;569&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.7337%;&quot; data-widthpercent=&quot;50.32&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AfhaE/dJMcaflD4ua/s4FZLQys3wgTFDaES6X0rk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAfhaE%2FdJMcaflD4ua%2Fs4FZLQys3wgTFDaES6X0rk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;607&quot; height=&quot;569&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로 만들기 클릭 &amp;rarr; uv.exe가 들어있는 폴더 경로 붙여넣기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;환경변수 등록 후에는 터미널을 껐다가 다시 켜야 적용됩니다.&lt;/p&gt;</description>
      <author>Euisaac</author>
      <guid isPermaLink="true">https://euisaac.tistory.com/23</guid>
      <comments>https://euisaac.tistory.com/23#entry23comment</comments>
      <pubDate>Sun, 22 Mar 2026 00:23:55 +0900</pubDate>
    </item>
    <item>
      <title>opencode 설치 방법</title>
      <link>https://euisaac.tistory.com/22</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;OpenCode&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;721&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWJCYQ/dJMcab4BwFB/g729UKvCecP60JLMRPawX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWJCYQ/dJMcab4BwFB/g729UKvCecP60JLMRPawX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWJCYQ/dJMcab4BwFB/g729UKvCecP60JLMRPawX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWJCYQ%2FdJMcab4BwFB%2Fg729UKvCecP60JLMRPawX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;721&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;721&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;OpenCode는 &lt;/b&gt;오픈 소스&lt;b&gt; &lt;span style=&quot;background-color: #fdfcfc; color: #646262; text-align: start;&quot;&gt;AI coding agent&lt;/span&gt;&lt;/b&gt;입니다&lt;b&gt;.&lt;/b&gt; 코드를 직접 읽고, 수정하고, 버그를 찾아주는 등 실제 개발 작업을 함께 처리해줍니다. 오픈소스로 무료 제공되며, Claude&amp;middot;GPT 등 다양한 AI 모델과 연결해서 쓸 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;background-color: #fdfcfc; color: #646262; text-align: start;&quot;&gt;터미널 기반 인터페이스, 데스크톱 앱, IDE 확장으로 사용할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;OpenCode 터미널&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1044&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSjbYo/dJMcaadzVns/7SIFiiFsWKbqI5U2R1TCh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSjbYo/dJMcaadzVns/7SIFiiFsWKbqI5U2R1TCh1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSjbYo/dJMcaadzVns/7SIFiiFsWKbqI5U2R1TCh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSjbYo%2FdJMcaadzVns%2F7SIFiiFsWKbqI5U2R1TCh1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;694&quot; height=&quot;566&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1044&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;OpenCode 터미널&lt;/b&gt;은 터미널(명령줄 창)에서 실행되는 AI 코딩 도우미입니다. 별도의 앱 설치 없이 텍스트 기반의 UI(TUI)로 동작하며, 코드 편집기나 브라우저 없이도 터미널 안에서 AI와 대화하며 코드를 작성&amp;middot;수정&amp;middot;분석할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;1. 설치 스크립트&lt;/h3&gt;
&lt;pre id=&quot;code_1774094213993&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;curl -fsSL https://opencode.ai/install | bash&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;macOS&amp;middot;Linux 터미널에서 바로 실행할 수 있습니다. ( Windows 사용자는 아래 npm 방법을 권장 )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 패키지 매니저 이용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt; npm / bun &lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1774094995995&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm i -g opencode-ai
# 또는
bun add -g opencode-ai&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Node.js(npm) 또는 Bun이 설치되어 있다면 아래 명령어로 설치할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Homebrew - macOS&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1774095257013&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;brew install anomalyco/tap/opencode&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Scoop/Chocolatey - Windows&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1774095406639&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;scoop install opencode
# 또는
choco install opencode&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;OpenCode 데스크탑 (Beta)&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;OpenCode 데스크탑&lt;/b&gt;&lt;span style=&quot;color: #333333; font-size: 16px; letter-spacing: 0px;&quot;&gt;은 터미널 없이도 OpenCode를 사용할 수 있는 GUI 앱입니다. 터미널에 익숙하지 않은 사용자도 일반 프로그램처럼 설치하고 실행할 수 있으며, 동일한 AI 코딩 기능을 데스크탑 환경에서 편리하게 사용할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Homebrew-macOS&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1774095950282&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;brew install --cask opencode-desktop&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;직접 다운로드&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://opencode.ai/ko/download&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://opencode.ai/ko/download&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;macOS에서만 Homebrew를 지원하며, Windows&amp;middot;Linux는 위 링크에서 직접 다운로드할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;설치 확인&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1774096540027&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;opencode --version&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;프로젝트 초기화&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1774096716728&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd /path/to/project&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;설치를 완료했으면 작업하려는 프로젝트로 이동한다.&lt;/p&gt;
&lt;pre id=&quot;code_1774096922177&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;opencode&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;opencode를 실행한다.&lt;/p&gt;
&lt;pre id=&quot;code_1774096938685&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/init&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;명령을 실행해 프로젝트에서 opencode를 초기화한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>Euisaac</author>
      <guid isPermaLink="true">https://euisaac.tistory.com/22</guid>
      <comments>https://euisaac.tistory.com/22#entry22comment</comments>
      <pubDate>Sat, 21 Mar 2026 21:44:41 +0900</pubDate>
    </item>
    <item>
      <title>오토인코더와 생성적 적대 신경망</title>
      <link>https://euisaac.tistory.com/18</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;653&quot; data-origin-height=&quot;358&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oTb68/btsPNkOoP2k/82FkYdzaK0e6TwVQjW3Zok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oTb68/btsPNkOoP2k/82FkYdzaK0e6TwVQjW3Zok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oTb68/btsPNkOoP2k/82FkYdzaK0e6TwVQjW3Zok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoTb68%2FbtsPNkOoP2k%2F82FkYdzaK0e6TwVQjW3Zok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;653&quot; height=&quot;358&quot; data-origin-width=&quot;653&quot; data-origin-height=&quot;358&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오토인코더는 대칭 형태를 가짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력층과 출력층의 크기가 같음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왼쪽은 어떤 변수를 통해 특징이 추려지면서 중요한 값들로 압축 -&amp;gt; 인코더&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오른쪽은 압축된 정보를 펼쳐서 원래 입력층과 유사한 값을 만듦 -&amp;gt; 디코더&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특징&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 비지도 학습&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차원 축소 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추가적인 이미지 생성 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 대칭 구조를 지님&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-블러현상이 일어날 수 있음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;403&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dKicS2/btsPMSxR88Q/kS3kMVG7hkCjP9ZZUdcRtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dKicS2/btsPMSxR88Q/kS3kMVG7hkCjP9ZZUdcRtK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dKicS2/btsPMSxR88Q/kS3kMVG7hkCjP9ZZUdcRtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdKicS2%2FbtsPMSxR88Q%2FkS3kMVG7hkCjP9ZZUdcRtK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;403&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;403&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학습방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mse를 사용해서 x와 x'의 값의 차이를 손실함수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사진을 보면 가중치 매트릭스가 5x7, 3x5, 5x3, 7x5로 총 100개 인데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 ABCD라고 하면 C와D, B와C transpose 이기 때문에 A, B, Bt, At로 세팅할 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;stacked Autoencoder: 기본 구조로 여러 개 은닉층 존재&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단점: 오토인코더를 통해 정보를 새로 생성하는 건데 손실함수의 값을 작게하도록 가중치들을 업데이트한다면 같은 정보가 나오는 것이기 때문에 무의미 (매우 유사한 x'를 얻고 싶은 것)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;647&quot; data-origin-height=&quot;357&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/K0de7/btsPN8z7QVL/GV5Nrns1OyJnpW1FABI8lk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K0de7/btsPN8z7QVL/GV5Nrns1OyJnpW1FABI8lk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K0de7/btsPN8z7QVL/GV5Nrns1OyJnpW1FABI8lk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK0de7%2FbtsPN8z7QVL%2FGV5Nrns1OyJnpW1FABI8lk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;647&quot; height=&quot;357&quot; data-origin-width=&quot;647&quot; data-origin-height=&quot;357&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Denosing Autoencoder: 입력층 바로 다음에 노이즈를 주입 x+&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&amp;epsilon;&lt;/span&gt;에 대한 값이 들어감, 또는 드랍아웃을 통해 일부 노드를 랜덤하게 죽임 -&amp;gt; x와 x'가 같지 않게 나오도록 해줌&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;478&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btnYkI/btsPLF0kbM2/czKld8Qq2PKMJ9Z60eptik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btnYkI/btsPLF0kbM2/czKld8Qq2PKMJ9Z60eptik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btnYkI/btsPLF0kbM2/czKld8Qq2PKMJ9Z60eptik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtnYkI%2FbtsPLF0kbM2%2FczKld8Qq2PKMJ9Z60eptik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;750&quot; height=&quot;478&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;478&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Sparse Autoencoder: 손실함수 뒤에 제약조건을 넣어 x와 x'를 유사하게 만드는 작업&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제약항은 입력 변화에 대한 잠재 변수의 민감도를 줄임&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;∥&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nabla;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;h&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;∥&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; = 입력 변화에 대한 잠재변수의 민감도 크기, 이 값을 손실함수에 더하면 민감도가 클수록 손실 커짐 -&amp;gt; 학습 과정에서 민감도 줄이려고 함 -&amp;gt;&amp;nbsp; 민감도가 낮은 안정적인 모델이 됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;839&quot; data-origin-height=&quot;362&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQY0dV/btsPNaZs8QK/7GJCfcbuCcjqo6FAW7NwZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQY0dV/btsPNaZs8QK/7GJCfcbuCcjqo6FAW7NwZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQY0dV/btsPNaZs8QK/7GJCfcbuCcjqo6FAW7NwZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQY0dV%2FbtsPNaZs8QK%2F7GJCfcbuCcjqo6FAW7NwZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;839&quot; height=&quot;362&quot; data-origin-width=&quot;839&quot; data-origin-height=&quot;362&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;Convolutional Autoencoder: cnn을 오토인코더 형식으로&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;convolution layer 사용&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;생성적 적대 신경망(Generative Adversarial Network)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;- 유사 이미지 음성 등 생성&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;-매우 광범위한 응용-Deepfake, CyvleGAN, Condiational GAN&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;847&quot; data-origin-height=&quot;482&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnDRV1/btsPLiqLBho/aK3GWkGrUcP5av6tZ6nDrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnDRV1/btsPLiqLBho/aK3GWkGrUcP5av6tZ6nDrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnDRV1/btsPLiqLBho/aK3GWkGrUcP5av6tZ6nDrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnDRV1%2FbtsPLiqLBho%2FaK3GWkGrUcP5av6tZ6nDrK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;847&quot; height=&quot;482&quot; data-origin-width=&quot;847&quot; data-origin-height=&quot;482&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;GAN의 두가지 모듈&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;-가짜 이미지, 음성 등을 생성하는 Generator (진짜같은 가짜를 만들어내는 것이 목적)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;-진짜와 가짜를 구분하는 Discriminator, 진짜1, 가짜0 (이진분류, sigmoid 사용(0.5를 기준으로 작으면 0 크면 1)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;437&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfoOtu/btsPLgzIxfY/zjopK16WNjeDRIO9NB8CLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfoOtu/btsPLgzIxfY/zjopK16WNjeDRIO9NB8CLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfoOtu/btsPLgzIxfY/zjopK16WNjeDRIO9NB8CLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfoOtu%2FbtsPLgzIxfY%2FzjopK16WNjeDRIO9NB8CLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;798&quot; height=&quot;437&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;437&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;generator와 discriminator의 두 가중치를 업데이트 해야함&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;discriminator는 가짜와 진짜 구분해서 정확도 높이고 싶음, 손실을 줄이려면 L이 커져야해서 max&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;generator는 가짜를 만들어 속여야 해서 손실을 줄이려면 L이 작아져야함, min&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;230&quot; data-start=&quot;159&quot;&gt;&lt;b&gt;max(&amp;theta;d)&lt;/b&gt; &amp;rarr; Discriminator가 &lt;b&gt;L을 가장 크게 만드는&lt;/b&gt; 파라미터 &lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;theta;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;d&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;를 찾음&lt;/li&gt;
&lt;li data-end=&quot;307&quot; data-start=&quot;231&quot;&gt;&lt;b&gt;min(&amp;theta;g)&lt;/b&gt; &amp;rarr; 그 결과를 보고 Generator가 &lt;b&gt;L을 가장 작게 만드는&lt;/b&gt; 파라미터 &lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;theta;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;를 찾음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;x: 진짜 데이터&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-v-09820b80=&quot;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;z: latent vector(G에 들어가는 랜덤한 특징 벡터)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;G(z,&amp;theta;g)&lt;/span&gt;&lt;/span&gt;: z를 받아 만든 가짜 데이터&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;D(&lt;span&gt;(&lt;/span&gt;&lt;span&gt;z&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;theta;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;,&amp;theta;d)&lt;/span&gt;&lt;/span&gt;: 가짜 데이터를 보고 진짜라고 판단할 확률&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1-D((z,&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;theta;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;),&amp;theta;d): D가 가짜 데이터를 가짜라고 판단할 확률 -&amp;gt; D는 이 값이 클수록 가짜를 가짜로 잘 맞힌 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;theta;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;d&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;): D가진짜 데이터를 진짜라고 판별할 확률 -&amp;gt; D는 이 값이 클수록 가짜를 가짜로 잘 맞힌 것&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>인공지능</category>
      <author>Euisaac</author>
      <guid isPermaLink="true">https://euisaac.tistory.com/18</guid>
      <comments>https://euisaac.tistory.com/18#entry18comment</comments>
      <pubDate>Sun, 10 Aug 2025 00:32:49 +0900</pubDate>
    </item>
    <item>
      <title>순환 신경망</title>
      <link>https://euisaac.tistory.com/17</link>
      <description>&lt;div class=&quot;index_toc&quot;&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;목차&lt;/p&gt;
&lt;ul id=&quot;toc&quot; style=&quot;list-style-type: none;&quot; data-ke-list-type=&quot;none&quot;&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;순환 신경망(Recurrent Neural Network)&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bm3htn/btsPLIP7Slj/CEKz1MJECz3KQvAXqbv9kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bm3htn/btsPLIP7Slj/CEKz1MJECz3KQvAXqbv9kk/img.png&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;499&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.5789%; margin-right: 10px;&quot; data-widthpercent=&quot;50.16&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bm3htn/btsPLIP7Slj/CEKz1MJECz3KQvAXqbv9kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbm3htn%2FbtsPLIP7Slj%2FCEKz1MJECz3KQvAXqbv9kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;711&quot; height=&quot;499&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Cg0Wi/btsPMWz8zdY/mskWfQks0TD1iDsBi7rK3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Cg0Wi/btsPMWz8zdY/mskWfQks0TD1iDsBi7rK3k/img.png&quot; data-origin-width=&quot;688&quot; data-origin-height=&quot;486&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.2583%;&quot; data-widthpercent=&quot;49.84&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Cg0Wi/btsPMWz8zdY/mskWfQks0TD1iDsBi7rK3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCg0Wi%2FbtsPMWz8zdY%2FmskWfQks0TD1iDsBi7rK3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;688&quot; height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;순환 신경망은 시계열 데이터에서 많이 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시계열 데이터: 순차적인 시간의 흐름에 따라 기록된 데이터 (ex: 신호, 주가)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RNN은 이전 정보를 가지고 있다가 다음 입력값이 들어오면 반영함&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;381&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qu5Ay/btsPMqawyUo/Pk4NizqFKZOWHhWp8j5UWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qu5Ay/btsPMqawyUo/Pk4NizqFKZOWHhWp8j5UWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qu5Ay/btsPMqawyUo/Pk4NizqFKZOWHhWp8j5UWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqu5Ay%2FbtsPMqawyUo%2FPk4NizqFKZOWHhWp8j5UWK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;381&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;381&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;줄지어져 있는 것을 시퀀스라고 함 시퀀스의 길이는 자유롭게 조절 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;one to many: 데이터 하나가 들어오면 여러 개의 출력값을 뽑아냄&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;x &amp;rarr; h₁ &amp;rarr; ŷ₁&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;h₁이 다음 시점의 계산에 전달되어 h₂ 계산에 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;many to one: 여러 입력을 통해 하나의 출력 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;395&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AFj8Q/btsPMnLFG7r/eB75Rr2FuxchqQw29wbRHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AFj8Q/btsPMnLFG7r/eB75Rr2FuxchqQw29wbRHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AFj8Q/btsPMnLFG7r/eB75Rr2FuxchqQw29wbRHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAFj8Q%2FbtsPMnLFG7r%2FeB75Rr2FuxchqQw29wbRHK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;771&quot; height=&quot;395&quot; data-origin-width=&quot;771&quot; data-origin-height=&quot;395&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;many to many: 여러 입력 시퀀스를 받아서 여러 출력 시퀀스를 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력과 출력이 동시에 진형되는 형태, 모든 입력 처리 후 출력 시퀀스가 나오는 형태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;369&quot; data-origin-height=&quot;393&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dNtePc/btsPLLeVsls/ivbcC6FOZTvpwgnkphB0o1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dNtePc/btsPLLeVsls/ivbcC6FOZTvpwgnkphB0o1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dNtePc/btsPLLeVsls/ivbcC6FOZTvpwgnkphB0o1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdNtePc%2FbtsPLLeVsls%2FivbcC6FOZTvpwgnkphB0o1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;369&quot; height=&quot;393&quot; data-origin-width=&quot;369&quot; data-origin-height=&quot;393&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;히든스테이트를 여러개 쌓을 수 있음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpR7Jn/btsPLC3Db6b/XLt0mUQfWVtvx6JsNkKbp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpR7Jn/btsPLC3Db6b/XLt0mUQfWVtvx6JsNkKbp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpR7Jn/btsPLC3Db6b/XLt0mUQfWVtvx6JsNkKbp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpR7Jn%2FbtsPLC3Db6b%2FXLt0mUQfWVtvx6JsNkKbp0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;753&quot; height=&quot;344&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;344&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;h: 현재 시점의 히든스테이트는 이전에 있던 히든스테이트의 정보와 지금 현재의 정보를 받아서 계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전 시점의 기억과 현재 입력 정보를 압축해서 담은 벡터&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o: h(t)를 선형 인공신경망을 거쳐 나온 결과, 각 클래스에 대한 점수,값이 클수록 해당 클래스가 정답일 가능성 높음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;h(t)는 rnn 내부에서만 사용하기 좋은 형태로 되어있음 이걸 클래스 차원으로 변환하기 위해 선형 변환을 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;c는 출력층 편향, v는 가중치&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;y: 인공신경망을 거친 값에 소프트맥스 함수를 씌워서 최종 결과값, 각 클래스에 대한 확률 분포가 나옴&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;915&quot; data-origin-height=&quot;359&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCmZtm/btsPLMdSaAH/wZkc4ILLwOtFfDpPRsnUzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCmZtm/btsPLMdSaAH/wZkc4ILLwOtFfDpPRsnUzk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCmZtm/btsPLMdSaAH/wZkc4ILLwOtFfDpPRsnUzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCmZtm%2FbtsPLMdSaAH%2FwZkc4ILLwOtFfDpPRsnUzk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;915&quot; height=&quot;359&quot; data-origin-width=&quot;915&quot; data-origin-height=&quot;359&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;h(t-1)과 x(t)가 만나 합쳐 a(t)를 만듦&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;a(t)를 활성화 함수 tanh라는 활성화 함수에 넣어&amp;nbsp; h(t) 만듦&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;h(t)는 선형 변환과 softmax 함수를 거쳐 ŷ(t)(현재 시점의 예측값) 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 시점으로 넘어가 h(t+1)에 계산에 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;811&quot; data-origin-height=&quot;417&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c16ium/btsPN3rSK40/SKYBANav74tEkr4oi4gCP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c16ium/btsPN3rSK40/SKYBANav74tEkr4oi4gCP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c16ium/btsPN3rSK40/SKYBANav74tEkr4oi4gCP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc16ium%2FbtsPN3rSK40%2FSKYBANav74tEkr4oi4gCP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;811&quot; height=&quot;417&quot; data-origin-width=&quot;811&quot; data-origin-height=&quot;417&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;w, u,b는 가중치 매트릭스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;w는 NxN&amp;nbsp; h(t-1)은 Nx1로 곱하면 Nx1&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(RNN은 모든 시점의 h(t) 차원이 동일, 고정된 하나의 은닉층을 사용하기 때문 따라서 h(t)가 Nx1이면 H(t-1)도 Nx1이다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;u는 NxM x(t)는 Mx1로 곱하면 Nx1&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계산된 a(t)를 tanh를 통해 h(t) 계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인공신경망 하나를 거쳐서 Output, o(t)를 만들어주고&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 아웃풋을 소프트맥스를 거쳐서 실제 출력값 나오게 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;순환 신경망 형태&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;821&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzsACR/btsPNcJsjXw/greb2Ab6I60qTA9T2Yg7Uk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzsACR/btsPNcJsjXw/greb2Ab6I60qTA9T2Yg7Uk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzsACR/btsPNcJsjXw/greb2Ab6I60qTA9T2Yg7Uk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzsACR%2FbtsPNcJsjXw%2Fgreb2Ab6I60qTA9T2Yg7Uk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;821&quot; height=&quot;356&quot; data-origin-width=&quot;821&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tanh나 sigmoid 함수는 양끝이 거의 0으로 가는 형태의 미분이 나옴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;값이 조금만 커지거나 작아지더라도 미분 값이 거의 0이 나옴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;역전파에서 미분값들이 연속적으로 곱해지면 &lt;b&gt;기울기 사라짐&lt;/b&gt; 발생&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;778&quot; data-origin-height=&quot;363&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9VjWg/btsPM0WPOfu/efIzw4AHVyV3zxDFkdkKX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9VjWg/btsPM0WPOfu/efIzw4AHVyV3zxDFkdkKX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9VjWg/btsPM0WPOfu/efIzw4AHVyV3zxDFkdkKX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9VjWg%2FbtsPM0WPOfu%2FefIzw4AHVyV3zxDFkdkKX0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;778&quot; height=&quot;363&quot; data-origin-width=&quot;778&quot; data-origin-height=&quot;363&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;장기 의존성 문제&lt;/b&gt; 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;rnn은 앞쪽에 있는 정보들이 뒤쪽까지 충분히 전달되지 않음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;847&quot; data-origin-height=&quot;500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oFstO/btsPLBjkTOC/IhGIe16q9NArcfmBu2E1U1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oFstO/btsPLBjkTOC/IhGIe16q9NArcfmBu2E1U1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oFstO/btsPLBjkTOC/IhGIe16q9NArcfmBu2E1U1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoFstO%2FbtsPLBjkTOC%2FIhGIe16q9NArcfmBu2E1U1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;847&quot; height=&quot;500&quot; data-origin-width=&quot;847&quot; data-origin-height=&quot;500&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LSTM은 h값만 받는게 아니라 추가적인 게이트 만들어 문제 해결 (이전 정보 현재 정보 얼마나 기억할지 잊을지)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; s라는 값을 만듦, 이전에 받은 값과 현재값의 가중치를 계산,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;f&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;t&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;는 forget gate얼마나 잊을 지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;i(t)는 input gate 새 정보를 얼마나 넣을지 결정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;s~&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;t&lt;/span&gt;&lt;span&gt;)는 이번 시점에 추가하고 싶은 새로운 정보 후보&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;s(t)=장기 기억+ 현재 시점의 새로운 정보&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;o(t)는 정보를 얼마나 보여줄지 결정&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;h(t): s(t)의 값이 커질 수 있어 tanh를 사용하여 범위를 -1~1로 압축&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;883&quot; data-origin-height=&quot;472&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DrWEH/btsPOD7xx2H/zMNxpVPQlZC7SPJXDuHjOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DrWEH/btsPOD7xx2H/zMNxpVPQlZC7SPJXDuHjOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DrWEH/btsPOD7xx2H/zMNxpVPQlZC7SPJXDuHjOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDrWEH%2FbtsPOD7xx2H%2FzMNxpVPQlZC7SPJXDuHjOK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;883&quot; height=&quot;472&quot; data-origin-width=&quot;883&quot; data-origin-height=&quot;472&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;gru&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LSTM보다 구조가 단순&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;u(t): 과거 정보와 현재 정보 얼마나 사용할 것인지 결정 0에 가까우면 현재 후보 완전 유지, 1에 가까우면 과거 완전 유지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;r(t): 과거 정보를 얼마나 무시할 건지 결정,&amp;nbsp; 0에 가까우면 이전 내용 반영 거의 안함 1에 가까우면 많이 반영&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;h~(t): 이번 시점 정보&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;h(t):&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;709&quot; data-origin-height=&quot;331&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7X3iv/btsPNNvRDSP/obgk7dWSAqLnhV9ZoVscoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7X3iv/btsPNNvRDSP/obgk7dWSAqLnhV9ZoVscoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7X3iv/btsPNNvRDSP/obgk7dWSAqLnhV9ZoVscoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7X3iv%2FbtsPNNvRDSP%2Fobgk7dWSAqLnhV9ZoVscoK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;709&quot; height=&quot;331&quot; data-origin-width=&quot;709&quot; data-origin-height=&quot;331&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적인 rnn형태에서는 출력 길이를 조절할 수 없음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;순서를 고려하기 어려움&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;278&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQwtK4/btsPN4EkRq7/jxPOnUXDpVBYx713YTHwXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQwtK4/btsPN4EkRq7/jxPOnUXDpVBYx713YTHwXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQwtK4/btsPN4EkRq7/jxPOnUXDpVBYx713YTHwXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQwtK4%2FbtsPN4EkRq7%2FjxPOnUXDpVBYx713YTHwXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;556&quot; height=&quot;278&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;278&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt;seq2seq (출력 길이 조절 가능)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LSTM 모델 2개를 붙여서 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인코더가 분석 후 대표되는 context vector를 하나 만들어줌&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;context vector 안에 입력 문장의 의미가 들어가 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;벡터 정보를 디코더로 보냄&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;벡터 길이 제한으로 인해 but 어순 판단 어려움&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;459&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oTiLP/btsPND718Gh/6dNnyckWcWSxebirYHaUy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oTiLP/btsPND718Gh/6dNnyckWcWSxebirYHaUy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oTiLP/btsPND718Gh/6dNnyckWcWSxebirYHaUy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoTiLP%2FbtsPND718Gh%2F6dNnyckWcWSxebirYHaUy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;649&quot; height=&quot;459&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;459&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; attention mechanism (순서 고려 가능)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;170&quot; data-start=&quot;107&quot;&gt;매 시점마다 디코더가 &lt;b&gt;h₁, h₂, ..., hᵢ&lt;/b&gt; 각각에 대해 중요도 점수(score)를 계산&lt;/li&gt;
&lt;li data-end=&quot;305&quot; data-start=&quot;171&quot;&gt;이 점수를 Softmax로 변환해서 &lt;b&gt;Attention Weight&lt;/b&gt; &lt;span&gt;&lt;span&gt;&amp;alpha;1,&amp;alpha;2,...,&amp;alpha;i&lt;/span&gt;&lt;/span&gt;를 얻음&lt;/li&gt;
&lt;li data-end=&quot;305&quot; data-start=&quot;171&quot;&gt;ai와 hi 곱한 후 다 더해줌&lt;/li&gt;
&lt;li data-end=&quot;501&quot; data-start=&quot;446&quot;&gt;이렇게 만든 Context Vector가 이번 시점의 디코더 입력으로 들어감&lt;/li&gt;
&lt;li data-end=&quot;501&quot; data-start=&quot;446&quot;&gt;제일 높은 확률 단어를 선택해서 예측&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>Euisaac</author>
      <guid isPermaLink="true">https://euisaac.tistory.com/17</guid>
      <comments>https://euisaac.tistory.com/17#entry17comment</comments>
      <pubDate>Sat, 9 Aug 2025 03:49:50 +0900</pubDate>
    </item>
    <item>
      <title>인공 신경망의 최적화</title>
      <link>https://euisaac.tistory.com/16</link>
      <description>&lt;div class=&quot;index_toc&quot;&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;목차&lt;/p&gt;
&lt;ul id=&quot;toc&quot; style=&quot;list-style-type: none;&quot; data-ke-list-type=&quot;none&quot;&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 미분&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기울기 구하기 위해서는 두 점이 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;곡선에서 한 점의 기울기를 구하고 싶다면&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원하는 점에 가까운 한점 연결해서 직선 만듦, 가까울 수록 원하는 기울기와 가까워짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; ₂가  ₁으로 가까이 간다= &amp;Delta; 가 0으로 가까워진다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;f'(x)는 순간 기울기&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;676&quot; data-origin-height=&quot;552&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bN5j14/btsPiJgAq6i/mclVrKc5vETZg35IohtXFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bN5j14/btsPiJgAq6i/mclVrKc5vETZg35IohtXFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bN5j14/btsPiJgAq6i/mclVrKc5vETZg35IohtXFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbN5j14%2FbtsPiJgAq6i%2FmclVrKc5vETZg35IohtXFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;459&quot; height=&quot;552&quot; data-origin-width=&quot;676&quot; data-origin-height=&quot;552&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;하강법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;손실함수의 값을 작게하는 w값을 구하는 것이 목표&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 임의로 초기값 주어지고, 손실값 작게 하는 w값 계속 업데이트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최적화: 모델의 파라미터를 최적화 하는 것, 즉 손실함수의 값을 작게 나오게 하는 w 값을 구해 변수를 계속 update&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 맥시멈을 구하는 손실함수일 경우, 마이너스를 곱해주면 최소값을 구할 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;max(loss) = -min(loss)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;목적함수&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리는 손실함수를 작게하는 모델의 변수(w)를 찾는 것이 목적&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목적함수를 기준으로 w 값을 갱신해나감&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;하강법&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 지점에서 낮은 방향으로 조금씩 이동하는 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;얼만큼 가야하는지, 지금 있는 위치에서&amp;nbsp; 어느쪽이이 감소하는 방향인지 모름&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 계산해줘야함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 지점의 접선의 기울기 부호와 방향은 항상 반대 (음수 기울기는 양수 방향으로 이동해야함, 양수 기울기는 음수 방향으로 이동해야)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;610&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnwBqj/btsPxXNkYhX/ukak8UWH6JZTKOXHWr0Fk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnwBqj/btsPxXNkYhX/ukak8UWH6JZTKOXHWr0Fk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnwBqj/btsPxXNkYhX/ukak8UWH6JZTKOXHWr0Fk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnwBqj%2FbtsPxXNkYhX%2Fukak8UWH6JZTKOXHWr0Fk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;306&quot; height=&quot;610&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;610&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하강법의 단점: 초기 위치에 따라 도착 지점이 달라질 수 있음 ( &lt;span style=&quot;background-color: #ffffff; color: #1f1f1f; text-align: left;&quot;&gt;지역 최솟값에 빠져 전역 최솟값을 찾지 못하는 문제가 발생할 수 있음)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;414&quot; data-origin-height=&quot;191&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p0MX5/btsPzkggQSE/vC8zkDzrGlW9UNE2I14Ba0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p0MX5/btsPzkggQSE/vC8zkDzrGlW9UNE2I14Ba0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p0MX5/btsPzkggQSE/vC8zkDzrGlW9UNE2I14Ba0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp0MX5%2FbtsPzkggQSE%2FvC8zkDzrGlW9UNE2I14Ba0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;414&quot; height=&quot;191&quot; data-origin-width=&quot;414&quot; data-origin-height=&quot;191&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #1f1f1f; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&amp;Delta;&lt;/span&gt; W를 어떻게 구하냐에&amp;nbsp; 따라 하강법이 정해진다. &lt;br /&gt;경사 하강법(디폴트로 사용), 뉴턴 방법(속도 느리지만 정확한 계산 원할 시)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #1f1f1f; text-align: left;&quot;&gt;경사하강법(Gradient Descent)&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;611&quot; data-origin-height=&quot;279&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TDNOW/btsPzmyn0ps/Kq7N6LVVowbhBv8PEBI3w1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TDNOW/btsPzmyn0ps/Kq7N6LVVowbhBv8PEBI3w1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TDNOW/btsPzmyn0ps/Kq7N6LVVowbhBv8PEBI3w1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTDNOW%2FbtsPzmyn0ps%2FKq7N6LVVowbhBv8PEBI3w1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;611&quot; height=&quot;279&quot; data-origin-width=&quot;611&quot; data-origin-height=&quot;279&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;step size에 이전 변수의 그래디언트 값을 빼서 그 다음 스텝으로 가게함&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbhyLM/btsPxC35Rk1/Gf37qAeyAFgKkWQ8UHGUC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbhyLM/btsPxC35Rk1/Gf37qAeyAFgKkWQ8UHGUC1/img.png&quot; width=&quot;305&quot; height=&quot;204&quot; data-origin-width=&quot;685&quot; data-origin-height=&quot;458&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.8886%; margin-right: 10px;&quot; data-widthpercent=&quot;33.67&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbhyLM/btsPxC35Rk1/Gf37qAeyAFgKkWQ8UHGUC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbhyLM%2FbtsPxC35Rk1%2FGf37qAeyAFgKkWQ8UHGUC1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;685&quot; height=&quot;458&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c5pAfU/btsPyElZUuD/I96GZJZeoQC0epzgUyeXd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c5pAfU/btsPyElZUuD/I96GZJZeoQC0epzgUyeXd1/img.png&quot; width=&quot;295&quot; height=&quot;191&quot; data-origin-width=&quot;719&quot; data-origin-height=&quot;466&quot; data-is-animation=&quot;false&quot; style=&quot;width: 33.9284%; margin-right: 10px;&quot; data-widthpercent=&quot;34.74&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c5pAfU/btsPyElZUuD/I96GZJZeoQC0epzgUyeXd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5pAfU%2FbtsPyElZUuD%2FI96GZJZeoQC0epzgUyeXd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;719&quot; height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cuXnUC/btsPyGc4f7H/9cklKrrQ8hlaeBEvARlE5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cuXnUC/btsPyGc4f7H/9cklKrrQ8hlaeBEvARlE5K/img.png&quot; data-origin-width=&quot;689&quot; data-origin-height=&quot;491&quot; data-is-animation=&quot;false&quot; width=&quot;295&quot; height=&quot;210&quot; style=&quot;width: 30.8573%;&quot; data-widthpercent=&quot;31.59&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cuXnUC/btsPyGc4f7H/9cklKrrQ8hlaeBEvARlE5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcuXnUC%2FbtsPyGc4f7H%2F9cklKrrQ8hlaeBEvARlE5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;689&quot; height=&quot;491&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보폭을 적절하게 정해줘야함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보폭이 너무 크면 수렴을 안 할 수 있고, 보폭이 너무 작으면 수렴 속도가 너무 느릴 수 있음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;268&quot; data-origin-height=&quot;119&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oYg06/btsPzocqrqO/ZFzZ6SoOCFmmEDNRtmzy90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oYg06/btsPzocqrqO/ZFzZ6SoOCFmmEDNRtmzy90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oYg06/btsPzocqrqO/ZFzZ6SoOCFmmEDNRtmzy90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoYg06%2FbtsPzocqrqO%2FZFzZ6SoOCFmmEDNRtmzy90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;268&quot; height=&quot;119&quot; data-origin-width=&quot;268&quot; data-origin-height=&quot;119&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;w를 바꿨을 때 손실이 어떻게 변하는지 gradient를 구하기 위해 w를 미분&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;w를 미분=손실 함수의 기울기, w를 바꿨을 때 손실이 변하는 정도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;328&quot; data-origin-height=&quot;132&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n4ls6/btsPzKmS95m/mpzuf0h3QLeHIBtR2h9R80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n4ls6/btsPzKmS95m/mpzuf0h3QLeHIBtR2h9R80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n4ls6/btsPzKmS95m/mpzuf0h3QLeHIBtR2h9R80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn4ls6%2FbtsPzKmS95m%2Fmpzuf0h3QLeHIBtR2h9R80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;328&quot; height=&quot;132&quot; data-origin-width=&quot;328&quot; data-origin-height=&quot;132&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;L을 w에 대해 미분하려고 하는데 w가 수식에 직접 안 나와 있어 체인 룰이 필요하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xlpzq/btsPzjQvmj2/8uHGgAan92bvZnafUfj3P0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xlpzq/btsPzjQvmj2/8uHGgAan92bvZnafUfj3P0/img.png&quot; data-origin-width=&quot;206&quot; data-origin-height=&quot;100&quot; data-is-animation=&quot;false&quot; style=&quot;width: 40.4217%; margin-right: 10px;&quot; data-widthpercent=&quot;40.9&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xlpzq/btsPzjQvmj2/8uHGgAan92bvZnafUfj3P0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fxlpzq%2FbtsPzjQvmj2%2F8uHGgAan92bvZnafUfj3P0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;206&quot; height=&quot;100&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Q1NFV/btsPAhxIEUz/U71uPH1Hy5SBchjJHVRYP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Q1NFV/btsPAhxIEUz/U71uPH1Hy5SBchjJHVRYP1/img.png&quot; data-origin-width=&quot;259&quot; data-origin-height=&quot;87&quot; data-is-animation=&quot;false&quot; style=&quot;width: 58.4155%;&quot; data-widthpercent=&quot;59.1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Q1NFV/btsPAhxIEUz/U71uPH1Hy5SBchjJHVRYP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ1NFV%2FbtsPAhxIEUz%2FU71uPH1Hy5SBchjJHVRYP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;259&quot; height=&quot;87&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;손실함수 L을 y^(y햇)에 대해 미분하면 그냥 y는 상수로 취급하여 사라진다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;260&quot; data-origin-height=&quot;172&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lhlzJ/btsPyZLv2sF/8e5LbGqOHueW4OaGDz8LT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lhlzJ/btsPyZLv2sF/8e5LbGqOHueW4OaGDz8LT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lhlzJ/btsPyZLv2sF/8e5LbGqOHueW4OaGDz8LT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlhlzJ%2FbtsPyZLv2sF%2F8e5LbGqOHueW4OaGDz8LT0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;260&quot; height=&quot;172&quot; data-origin-width=&quot;260&quot; data-origin-height=&quot;172&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;y^(y햇)은 x*w로 w에 대해 미분하면 x&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/djOexR/btsPAXLSEsU/lw4nk4rvw1ZXVPNAMtSBZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/djOexR/btsPAXLSEsU/lw4nk4rvw1ZXVPNAMtSBZ0/img.png&quot; data-origin-width=&quot;224&quot; data-origin-height=&quot;76&quot; data-is-animation=&quot;false&quot; style=&quot;width: 62.7082%; margin-right: 10px;&quot; data-widthpercent=&quot;63.45&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/djOexR/btsPAXLSEsU/lw4nk4rvw1ZXVPNAMtSBZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdjOexR%2FbtsPAXLSEsU%2Flw4nk4rvw1ZXVPNAMtSBZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;224&quot; height=&quot;76&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/emFbkB/btsPyJWyQJD/zo8W5nAzYczxqh0bH0MJkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/emFbkB/btsPyJWyQJD/zo8W5nAzYczxqh0bH0MJkK/img.png&quot; data-origin-width=&quot;180&quot; data-origin-height=&quot;106&quot; data-is-animation=&quot;false&quot; style=&quot;width: 36.129%;&quot; data-widthpercent=&quot;36.55&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/emFbkB/btsPyJWyQJD/zo8W5nAzYczxqh0bH0MJkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FemFbkB%2FbtsPyJWyQJD%2Fzo8W5nAzYczxqh0bH0MJkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;180&quot; height=&quot;106&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 dL/dy^과 dy^/dw를 곱하면 그냥&amp;nbsp; (y^-y)x가 아닌 이유가 아니라 2행짜리 벡터가 나오는 이유는&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;264&quot; data-origin-height=&quot;104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYeuao/btsPABP0Dh3/qiUxmhWR6UpvTSiBttcih1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYeuao/btsPABP0Dh3/qiUxmhWR6UpvTSiBttcih1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYeuao/btsPABP0Dh3/qiUxmhWR6UpvTSiBttcih1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYeuao%2FbtsPABP0Dh3%2FqiUxmhWR6UpvTSiBttcih1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;264&quot; height=&quot;104&quot; data-origin-width=&quot;264&quot; data-origin-height=&quot;104&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1082&quot; data-origin-height=&quot;490&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wAkyC/btsPyJ3ojdo/PiROLIqQ1NoNDWGi3m0Ru0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wAkyC/btsPyJ3ojdo/PiROLIqQ1NoNDWGi3m0Ru0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wAkyC/btsPyJ3ojdo/PiROLIqQ1NoNDWGi3m0Ru0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwAkyC%2FbtsPyJ3ojdo%2FPiROLIqQ1NoNDWGi3m0Ru0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;301&quot; height=&quot;490&quot; data-origin-width=&quot;1082&quot; data-origin-height=&quot;490&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;235&quot; data-origin-height=&quot;41&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cBOwPi/btsPAYxhlrm/rkYJG8pjfTo9w1ML7iIbk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBOwPi/btsPAYxhlrm/rkYJG8pjfTo9w1ML7iIbk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBOwPi/btsPAYxhlrm/rkYJG8pjfTo9w1ML7iIbk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBOwPi%2FbtsPAYxhlrm%2FrkYJG8pjfTo9w1ML7iIbk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;235&quot; height=&quot;41&quot; data-origin-width=&quot;235&quot; data-origin-height=&quot;41&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예측함수 y^이 두개의 가중치 w1과 w2를 가지고 있기 때문에 손실함수 L을 미분할 때도 각각 가중치에 대한 기울기(변화율)이 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;231&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRz8jP/btsPzE72iEm/LLnSJSb5tzieRisPuyPdq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRz8jP/btsPzE72iEm/LLnSJSb5tzieRisPuyPdq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRz8jP/btsPzE72iEm/LLnSJSb5tzieRisPuyPdq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRz8jP%2FbtsPzE72iEm%2FLLnSJSb5tzieRisPuyPdq0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;850&quot; height=&quot;231&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;231&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 확률적 경사 하강법&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1702&quot; data-origin-height=&quot;1008&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnmZop/btsPB18SK5P/vJ8mdHrEltk8vpZRcOfTSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnmZop/btsPB18SK5P/vJ8mdHrEltk8vpZRcOfTSK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnmZop/btsPB18SK5P/vJ8mdHrEltk8vpZRcOfTSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnmZop%2FbtsPB18SK5P%2FvJ8mdHrEltk8vpZRcOfTSK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;591&quot; height=&quot;1008&quot; data-origin-width=&quot;1702&quot; data-origin-height=&quot;1008&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경사하강법은 데이터 전체를 사용 데이터가 많을 경우에는 큰 배열들이 생겨 연산이 느려지고 메모리가 부족한 문제가 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확률적 경사 하강법은 데이터 전체를 무작위로 섞고, 나눈 미니 배치를 하나씩 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;여러 가지 최적화 방법&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1850&quot; data-origin-height=&quot;900&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgM0Av/btsPzUcF8AD/GtYNKrukRHaNCB0S9cMJfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgM0Av/btsPzUcF8AD/GtYNKrukRHaNCB0S9cMJfK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgM0Av/btsPzUcF8AD/GtYNKrukRHaNCB0S9cMJfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgM0Av%2FbtsPzUcF8AD%2FGtYNKrukRHaNCB0S9cMJfK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;509&quot; height=&quot;248&quot; data-origin-width=&quot;1850&quot; data-origin-height=&quot;900&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;w&lt;/span&gt;&lt;span&gt;&amp;larr;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;w&lt;/span&gt;&lt;span&gt;&amp;minus;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;mu;&lt;/span&gt;&lt;span&gt;&amp;nabla;&lt;/span&gt;&lt;span&gt;L&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;w&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;251&quot; data-start=&quot;228&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;w&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;: 가중치 (Weight)&lt;/li&gt;
&lt;li data-end=&quot;284&quot; data-start=&quot;252&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;mu;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;: 학습률 (Learning Rate)&lt;/li&gt;
&lt;li data-end=&quot;348&quot; data-start=&quot;285&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nabla;&lt;/span&gt;&lt;span&gt;L&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;w&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;: 손실 함수의 기울기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;학습률 &amp;micro;는 고정된 상수인데 상황에 따라 조절하고자함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;398&quot; data-origin-height=&quot;152&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYGVsO/btsPAlHQPYu/vVmLHDKYHEdwBSDO0kdgP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYGVsO/btsPAlHQPYu/vVmLHDKYHEdwBSDO0kdgP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYGVsO/btsPAlHQPYu/vVmLHDKYHEdwBSDO0kdgP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYGVsO%2FbtsPAlHQPYu%2FvVmLHDKYHEdwBSDO0kdgP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;335&quot; height=&quot;128&quot; data-origin-width=&quot;398&quot; data-origin-height=&quot;152&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;-&lt;b&gt; 모멘텀 기반&lt;/b&gt;: 이전 &lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;속도를 계속 반영하여 다음 속도를 계산&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;v&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;: 속도 (이전 방향 누적)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gamma;(감마): 모멘텀 계수 (0.9 등, 사용자가 설정)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;구할게 하나 더 늘어나 메모리 차지&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;-가변 학습률 기반: &lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;&amp;micro;를&amp;nbsp;&lt;/span&gt;어떤 특정 규칙에 따라 바꿔줌&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;554&quot; data-origin-height=&quot;212&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMtsC3/btsPzWuMDjJ/BcgU9nOwDB9Y6F5IaFn7MK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMtsC3/btsPzWuMDjJ/BcgU9nOwDB9Y6F5IaFn7MK/img.png&quot; data-alt=&quot;RMSProp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMtsC3/btsPzWuMDjJ/BcgU9nOwDB9Y6F5IaFn7MK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMtsC3%2FbtsPzWuMDjJ%2FBcgU9nOwDB9Y6F5IaFn7MK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;434&quot; height=&quot;166&quot; data-origin-width=&quot;554&quot; data-origin-height=&quot;212&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;RMSProp&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RMSProp: 학습률 자동으로 계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 기울기의 제곱값 평균인 Gt를 구해 이를 분모에 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 기울기가 큰 방향에서는 학습률 작아지고, 기울기가 작은 방향에서는 학습률 커져서 학습 안정적으로 진행되게 해줌&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1320&quot; data-origin-height=&quot;416&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NOkeq/btsPBgyUxG0/N6aIcSXkkjdnoeako74TDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NOkeq/btsPBgyUxG0/N6aIcSXkkjdnoeako74TDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NOkeq/btsPBgyUxG0/N6aIcSXkkjdnoeako74TDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNOkeq%2FbtsPBgyUxG0%2FN6aIcSXkkjdnoeako74TDk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;390&quot; height=&quot;123&quot; data-origin-width=&quot;1320&quot; data-origin-height=&quot;416&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;Adam: 모멘텀 기반과 가변학습률을 동시에 적용한 방법론&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #444447;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;m은 모멘텀 역할 , v는 RMSProp역할&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #444447;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;평향 보정위해 m^, v^사용&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;베타1,2는 상수 임의로 정해줄 수 있음&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;&lt;b&gt;스케줄링&lt;/b&gt; - 강제로 learning rate 조절&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;StepLR: 학습 횟수에 따라 뮤를 스케줄링&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;ExponentialLR: 감마, 학습 횟수의 지수에 뮤를 곱해줌&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;Cosine Annealing: ExponentialLR은 계속 작아져 조금씩 움직이는데 가끔 크게 움직여야하는 경우도 있음 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;파도 물결처럼 생긴 그래프로 학습률 조절&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;스케줄링 사용 시 가변 학습률 사용하지 않고 모멘텀 기법 또는 SGD와 같이 사용&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;sgd+momentum+scheduling&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;scheduling+ adam&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;기울기 사라짐&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;미분값이 0과 가까워 가중치가 업데이트 되지 않는 현상&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;여러 층을 거쳐 연쇄법칙이 이루어지면 값이 0으로 가는 현상이 생길 수 있음&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;활성화 함수를 어떻게 설정 하냐에 따라 기울기 사라짐을 개선할 수 있음&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;손실함수와 최적화&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1528&quot; data-origin-height=&quot;630&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pCZkT/btsPB6vAw0p/SvVRgJknxulaZ1frHrfyY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pCZkT/btsPB6vAw0p/SvVRgJknxulaZ1frHrfyY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pCZkT/btsPB6vAw0p/SvVRgJknxulaZ1frHrfyY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpCZkT%2FbtsPB6vAw0p%2FSvVRgJknxulaZ1frHrfyY0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1528&quot; height=&quot;630&quot; data-origin-width=&quot;1528&quot; data-origin-height=&quot;630&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;손실함수는 되도록이면 convex하게 만드는게 좋음&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;두 점을 잡고 직선을 그었을 때 직선이 원래 함수 값보다 위 또는 같은 위치에 있으면 convex&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;non-convex는 시작위치에 따라 global minimum으로 갈 수도 있고 local minimum으로 갈 수도 있음&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;최적화 입장에서 좋은 함수가 아님&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #444447;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;손실함수가 maximize 형태일때는 gradient ascent (기울기 방향으로 이동)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;최적화는 미니마이즈 하는게 기본적인 문제인데&amp;nbsp; maximize도 -를 곱하면 미니마이즈로 바꿀 수 있어 좋은 형태이다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1612&quot; data-origin-height=&quot;588&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DgPIH/btsPAYZmHoW/6Hcw0uOuGHpJQGAVL55fF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DgPIH/btsPAYZmHoW/6Hcw0uOuGHpJQGAVL55fF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DgPIH/btsPAYZmHoW/6Hcw0uOuGHpJQGAVL55fF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDgPIH%2FbtsPAYZmHoW%2F6Hcw0uOuGHpJQGAVL55fF1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1612&quot; height=&quot;588&quot; data-origin-width=&quot;1612&quot; data-origin-height=&quot;588&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;concave=-convex&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;convex+convex= convex&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #444447; text-align: left;&quot;&gt;손실 함수를 튜닝하거나 특별하게 만들 때 위를 통해 convex 유지 가능&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;</description>
      <category>인공지능</category>
      <author>Euisaac</author>
      <guid isPermaLink="true">https://euisaac.tistory.com/16</guid>
      <comments>https://euisaac.tistory.com/16#entry16comment</comments>
      <pubDate>Sun, 27 Jul 2025 15:54:04 +0900</pubDate>
    </item>
    <item>
      <title>인공 신경망</title>
      <link>https://euisaac.tistory.com/15</link>
      <description>&lt;div class=&quot;index_toc&quot;&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;목차&lt;/p&gt;
&lt;ul id=&quot;toc&quot; style=&quot;list-style-type: none;&quot; data-ke-list-type=&quot;none&quot;&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 딥러닝 입문&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;딥러닝: 인간의 신경망을 묘사하여 만든 인공신경망을 깊게 만들어 모델을 학습시키는 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Feature Engineering: 데이터를 가공하여 좋은 변수를 만드는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전통적인 머신 러닝에서 모델의 정확도를 높이기 위해 feature engineering은 매우 중요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;but 딥러닝은 별도의 가공 없이도 모델이 잘 학습하는 피처 러닝(특징 스스로 학습) 개념을 가지고 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전통적인 머신러닝 방법들 보다 feature engineering의 필요성을 감소시킴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1008&quot; data-origin-height=&quot;708&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNqD0k/btsO7gHb2O8/H5tIzbk8K6GUKWeNzK2o71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNqD0k/btsO7gHb2O8/H5tIzbk8K6GUKWeNzK2o71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNqD0k/btsO7gHb2O8/H5tIzbk8K6GUKWeNzK2o71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNqD0k%2FbtsO7gHb2O8%2FH5tIzbk8K6GUKWeNzK2o71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;474&quot; height=&quot;333&quot; data-origin-width=&quot;1008&quot; data-origin-height=&quot;708&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 인공 신경망&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;850&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8vOsz/btsPbMe0OSr/YXt8sZk6eK6mQqdliDgwrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8vOsz/btsPbMe0OSr/YXt8sZk6eK6mQqdliDgwrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8vOsz/btsPbMe0OSr/YXt8sZk6eK6mQqdliDgwrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8vOsz%2FbtsPbMe0OSr%2FYXt8sZk6eK6mQqdliDgwrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;622&quot; height=&quot;477&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;850&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인공신경망의 양 끝은 입력층과 출력층으로 이루어짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력층: 어떤 값이 처음 들어오는 층&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출력층: 최종 값을 산출하는 층&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;은닉층: 입력층과 출력층 사이에 있는 층으로 여러 개가 될 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가중치: 층 사이에 있는 값, 층 사이에 값이 전달 될 때 선을 연결해주는 가중치 값을 곱해줌&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1124&quot; data-origin-height=&quot;524&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cXscfu/btsPcTqL73i/Cz6KZHmqK82CA1iVOJXkIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cXscfu/btsPcTqL73i/Cz6KZHmqK82CA1iVOJXkIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cXscfu/btsPcTqL73i/Cz6KZHmqK82CA1iVOJXkIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcXscfu%2FbtsPcTqL73i%2FCz6KZHmqK82CA1iVOJXkIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;487&quot; height=&quot;227&quot; data-origin-width=&quot;1124&quot; data-origin-height=&quot;524&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;행렬의 덧셈&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;228&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Yjk3f/btsPdGxzXqd/DKOKkZ1omyKjXTBNi332T1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Yjk3f/btsPdGxzXqd/DKOKkZ1omyKjXTBNi332T1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Yjk3f/btsPdGxzXqd/DKOKkZ1omyKjXTBNi332T1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYjk3f%2FbtsPdGxzXqd%2FDKOKkZ1omyKjXTBNi332T1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;532&quot; height=&quot;228&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;228&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항상 크기가 같아야함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;행렬의 곱셈&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1288&quot; data-origin-height=&quot;240&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bI60IY/btsPdLk8V3X/Xsw0AEFoh8n3dXfJF6InL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bI60IY/btsPdLk8V3X/Xsw0AEFoh8n3dXfJF6InL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bI60IY/btsPdLk8V3X/Xsw0AEFoh8n3dXfJF6InL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbI60IY%2FbtsPdLk8V3X%2FXsw0AEFoh8n3dXfJF6InL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;548&quot; height=&quot;102&quot; data-origin-width=&quot;1288&quot; data-origin-height=&quot;240&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞 행렬은 행, 뒷 행렬은 열을 담당&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;행렬은 교환 법칙이 성립하지 않음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2&lt;/b&gt;X2, 2x&lt;b&gt;5&lt;/b&gt;행렬을 곱셈하면 2x5 행렬이 나옴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;곱셈을 하려면 가운데 숫자가 같아야함&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;nxl 행렬과 lxm 행렬을 곱하면 -&amp;gt; nxm 행렬이 나옴&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;연립 일차방정식과 행렬식&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;816&quot; data-origin-height=&quot;246&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bipcdB/btsPc9tjuxp/tdOUjrwZr967BLUqfK9KfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bipcdB/btsPc9tjuxp/tdOUjrwZr967BLUqfK9KfK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bipcdB/btsPc9tjuxp/tdOUjrwZr967BLUqfK9KfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbipcdB%2FbtsPc9tjuxp%2FtdOUjrwZr967BLUqfK9KfK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;415&quot; height=&quot;125&quot; data-origin-width=&quot;816&quot; data-origin-height=&quot;246&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연립 일차방정식: 1차식들이 두 개 이상 구성되어 있는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연립 일차방정식을 행렬 형태로 바꿔줄 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 계수를 행렬 형태로, 변수를 일렬로, 오른쪽 항에 있는 값을 일렬로 나타냄&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1714&quot; data-origin-height=&quot;856&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4qzGM/btsPc6jfszc/Tq8FXlg9aT3ckNkn7SHCv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4qzGM/btsPc6jfszc/Tq8FXlg9aT3ckNkn7SHCv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4qzGM/btsPc6jfszc/Tq8FXlg9aT3ckNkn7SHCv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4qzGM%2FbtsPc6jfszc%2FTq8FXlg9aT3ckNkn7SHCv0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;613&quot; height=&quot;306&quot; data-origin-width=&quot;1714&quot; data-origin-height=&quot;856&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 활성화 함수&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인공신경망은 1차 결합 형태의 함수가 합성된 합성함수(함수에 함수를 넣는 행위)의 연산&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;활성화 함수: 비선형적인 관계를 표현할 수 있도록 해주는 장치, 각 층의 관계를 비선형 관계로 만들어줌, 비선형 함수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;시그모이드 함수&lt;/b&gt;: 각 층의 관계를 비선형 관계로 만들어줌, 미분 가능, 모든 값을 0과 1 사이로 만듦,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;0.5를 기준으로 0.5 초과면 1. 0.5이하면 0으로 이진분류 문제에 활용할 수 있음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;718&quot; data-origin-height=&quot;448&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p6HGc/btsPlQ7L9mM/6xnLQetm4dFECkpUqOYAM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p6HGc/btsPlQ7L9mM/6xnLQetm4dFECkpUqOYAM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p6HGc/btsPlQ7L9mM/6xnLQetm4dFECkpUqOYAM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp6HGc%2FbtsPlQ7L9mM%2F6xnLQetm4dFECkpUqOYAM1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;313&quot; data-origin-width=&quot;718&quot; data-origin-height=&quot;448&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boZeuT/btsPmaLwG7Z/BEtIsk1qKWRtaucSGHd05k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boZeuT/btsPmaLwG7Z/BEtIsk1qKWRtaucSGHd05k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boZeuT/btsPmaLwG7Z/BEtIsk1qKWRtaucSGHd05k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboZeuT%2FbtsPmaLwG7Z%2FBEtIsk1qKWRtaucSGHd05k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;484&quot; height=&quot;114&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;하이퍼볼릭 탄젠트 함수&lt;/b&gt;: 시그모이드 함수와 유사, 미분 가능, -1과 1사이의 값을 취할 수 있어 음수값을 가질 수 있다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;0부근에서 가파른 기울기를 가짐&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;242&quot; data-origin-height=&quot;76&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u5RVw/btsPlLMcsvu/BT4sYP0BSBJkLfmjHBgpnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u5RVw/btsPlLMcsvu/BT4sYP0BSBJkLfmjHBgpnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u5RVw/btsPlLMcsvu/BT4sYP0BSBJkLfmjHBgpnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu5RVw%2FbtsPlLMcsvu%2FBT4sYP0BSBJkLfmjHBgpnk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;242&quot; height=&quot;76&quot; data-origin-width=&quot;242&quot; data-origin-height=&quot;76&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMIEUk/btsPl6idmj2/nfgzhb94qrTX72xc2brkP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMIEUk/btsPl6idmj2/nfgzhb94qrTX72xc2brkP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMIEUk/btsPl6idmj2/nfgzhb94qrTX72xc2brkP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMIEUk%2FbtsPl6idmj2%2Fnfgzhb94qrTX72xc2brkP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;525&quot; height=&quot;338&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;460&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ReLU함수&lt;/b&gt;: 음수 값은 0, 양수 값은 그대로 출력, 직선 두개가 연결된 형태로 빈성형 함수지만 선형과 유사한 성질을 가짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0지점은 미분이 불가능하여 학습이 안됨&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;452&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wVzSa/btsPlMK600P/3NEhZK8c9PMoJlkRo3tVE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wVzSa/btsPlMK600P/3NEhZK8c9PMoJlkRo3tVE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wVzSa/btsPlMK600P/3NEhZK8c9PMoJlkRo3tVE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwVzSa%2FbtsPlMK600P%2F3NEhZK8c9PMoJlkRo3tVE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;390&quot; height=&quot;259&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Leaky ReLU함수&lt;/b&gt;: 마이너스 값도 취할 수 있는 ReLU&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;음수 쪽의 식=&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&amp;alpha;&lt;/span&gt;  (&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&amp;alpha;는 0보다 조금 큰 숫자로 설정)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;b&gt;ELU&lt;/b&gt;: Leaky ReLU보다 부드러운 함수, 왼쪽 직선을 지수로 바꿔 곡선으로 만든 함수, 각각의 점의 미분값에 차이가 생김&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;소프트맥스 함수&lt;/b&gt;: 분류 문제에 최적화. 모든 인풋값에 대해 항상 0과 1사이의 값이 나옴, 모든 성분의 합이 1&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. XOR 문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같은 숫자가 들어오면 0을 산출, 다른 숫자가 들어오면 1을 산출&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떠한 직선을 그리더라도 같은 색깔끼리 나눈 수 없음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt;MLP가 인공신경망으로 해결, 은닉층을 거쳐 출력값을 나오게 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;전치행렬&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;행과 열의 위치를 바꾼 행렬&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(입력 데이터를 한번에 처리하기 위해)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;5. 손실 함수&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;지도학습: 입력값과 출력값이 주어진 형태에서 학습하는 방법​&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;손실함수: 예측이 얼마나 정확한지를 나타내는 척도, 실제값과 예측값의 차이를 계산 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;최적화: 손실값이 작아지는 가중치를 찾는 것&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;손실함수 종류&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;회귀 문제(Regression): 결과값이 연속적인 변수인 것을 예측하는 문제(실수 형태의 값)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;분류 문제(Classification): 결과 값이 정해져 있는 것, 원하는 결과값이 클래스(class)라고 하는 유한한 모임으로 분류되는 문제&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;클래스를 표현하는 방법: 라벨링, 원-핫 벡터&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;라벨링: 각각의 클래스에 숫자를 달아줌&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt; 종류를 구분짓기 위한 것인데 대소 비교가 생길 수 있어 원-핫 벡터로 표현 가능&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;원-핫 벡터: 모든 원소가 0과 1로 구성된 벡터,&amp;nbsp; ((0,1,0)로 표현하는 방법을 원-핫 인코딩)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;회귀(Regression)문제에 사용되는 손실함수&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&lt;b&gt;평균 절대 오차(MAE)&lt;/b&gt;: 실제값과 예측값의 차이 절대값을 기반, 예측값과 실제값의 수직 거리의 평균으로 표현&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;절대값으로 미분 불가능한 지점이 있음&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;(잔차: 실제값과 예측값의 차, 수직거리는 잔차의 크기)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&lt;b&gt;평균 제곱 오차(MSE)&lt;/b&gt;: 예측값과 실제값의 수직 거리 제곱의 평균으로 표현&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;2차식으로 모든 점에서 미분 가능, 제곱이기 때문제 손실값이 좀 크게 나올 수 있음&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&lt;b&gt;평균 제곱근 오차(RMSE)&lt;/b&gt;: MSE는 단위를 제곱하여 결과를 내 같은 단위 크기로 만들기 위해 MSE에 제곱근 씌움&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;분류(Classification)문제에 사용되는 손실함수&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;내적&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;64&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgFedE/btsPlaZ4w0M/8GQxdApWZqbMk6aqSxhiZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgFedE/btsPlaZ4w0M/8GQxdApWZqbMk6aqSxhiZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgFedE/btsPlaZ4w0M/8GQxdApWZqbMk6aqSxhiZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgFedE%2FbtsPlaZ4w0M%2F8GQxdApWZqbMk6aqSxhiZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;64&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;64&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;교차 엔트로피 함수&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;812&quot; data-origin-height=&quot;88&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DSkUc/btsPlvXfrpm/V7EAIeiaeiKkWowHPAidg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DSkUc/btsPlvXfrpm/V7EAIeiaeiKkWowHPAidg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DSkUc/btsPlvXfrpm/V7EAIeiaeiKkWowHPAidg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDSkUc%2FbtsPlvXfrpm%2FV7EAIeiaeiKkWowHPAidg1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;812&quot; height=&quot;88&quot; data-origin-width=&quot;812&quot; data-origin-height=&quot;88&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;로짓값에 소프트맥스 함수를 적용, 0과 1사이 숫자로 바뀌고, 모든 성분의 합은 1이됨&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;그 다음 로그를 씌어주고 실제값의 원-핫 벡터과의 내적을 구함, 내적 더한 후 개수 나눠줌&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;이진 교차 엔트로피 함수&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;78&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dlAimH/btsPlSK9Vxx/aFJiKRD9SMtjfuKwlJmjrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dlAimH/btsPlSK9Vxx/aFJiKRD9SMtjfuKwlJmjrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dlAimH/btsPlSK9Vxx/aFJiKRD9SMtjfuKwlJmjrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdlAimH%2FbtsPlSK9Vxx%2FaFJiKRD9SMtjfuKwlJmjrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;932&quot; height=&quot;78&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;78&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;일반적으로 시그모이드 함수 사용, 0과 1로만 표현하여 벡터로 나타낼 필요 없음&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;정답이 1일 때 y&amp;times; log(&lt;span style=&quot;background-color: #ffffff; color: #001d35; text-align: start;&quot;&gt;ŷ&lt;/span&gt;), 정답이 0일 때 (1-y) &amp;times; log(1-&lt;span style=&quot;background-color: #ffffff; color: #001d35; text-align: start;&quot;&gt;ŷ&lt;/span&gt;)의 값만 남음&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;log(1-&lt;span style=&quot;background-color: #ffffff; color: #001d35; text-align: start;&quot;&gt;ŷ)&lt;/span&gt;인 이유는 정답이 0일 때 0일 확률을 구해야하는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #001d35; text-align: start;&quot;&gt;ŷ&lt;/span&gt;는 정답이 1일 때 1일 확률만을 가지고 있어 그 반대인 1-&lt;span style=&quot;background-color: #ffffff; color: #001d35; text-align: start;&quot;&gt;ŷ&lt;/span&gt;를 이용하여 0일 때 0일 확률을 구해준 것&lt;/p&gt;</description>
      <category>인공지능</category>
      <author>Euisaac</author>
      <guid isPermaLink="true">https://euisaac.tistory.com/15</guid>
      <comments>https://euisaac.tistory.com/15#entry15comment</comments>
      <pubDate>Thu, 10 Jul 2025 21:01:57 +0900</pubDate>
    </item>
  </channel>
</rss>