<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>jay_.log</title>
        <link>https://velog.io/</link>
        <description>Feedback is welcome</description>
        <lastBuildDate>Tue, 07 Feb 2023 13:26:04 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>jay_.log</title>
            <url>https://images.velog.io/images/jay_/profile/59fe6775-dce9-4f8c-9867-4ce0c98d5a1d/social.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. jay_.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jay_" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[혁펜하임의 AI DEEP DIVE(Online) 체험단 후기-3]]></title>
            <link>https://velog.io/@jay_/%ED%98%81%ED%8E%9C%ED%95%98%EC%9E%84%EC%9D%98-AI-DEEP-DIVEOnline-%EC%B2%B4%ED%97%98%EB%8B%A8-%ED%9B%84%EA%B8%B0-3</link>
            <guid>https://velog.io/@jay_/%ED%98%81%ED%8E%9C%ED%95%98%EC%9E%84%EC%9D%98-AI-DEEP-DIVEOnline-%EC%B2%B4%ED%97%98%EB%8B%A8-%ED%9B%84%EA%B8%B0-3</guid>
            <pubDate>Tue, 07 Feb 2023 13:26:04 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/jay_/post/fd4e61c7-1b39-4594-91e5-02f02d0f091c/image.png" alt=""></p>
<h3 id="prologue">Prologue</h3>
<p>_
  계속해서 이어서 작성하는 강의 후기~ 😀
_</p>
<br>
<br>


<hr>
<h1 id="강의-내용-정리">강의 내용 정리</h1>
<br>



<h2 id="dnn의-문제점--및-해결방안">DNN의 문제점 ~ 및 해결방안</h2>
<hr>
<br>
다양한 문제가 있지만 크게 vanishing gradient, overfitting, loss landscape가 매끄럽지 못한문제가 있다.
<br>

<ul>
<li>+@ 그외에도 자잘한 문제들이 있다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jay_/post/237f25fc-1784-4b68-a5e4-2d7d45f04069/image.png" alt=""></p>
<h2 id="vanishing-gradient-문제">Vanishing gradient 문제</h2>
<hr>
<br>

<ul>
<li>sigmoid 활성화 함수의 경우, 함수 양끝단으로 갈수록 기울기가 0으로 수렴하여, 학습시 체인룰에 의해서 곱해지는 갑이 0 가까워져 결국 weight 학습이 이루어지지 않는 문제 입니다.(특히 입력층에 가까운 경우)</li>
<li>결국 학습이 제대로 이루어지지않아 underfitting이 일어난다고 합니다.</li>
</ul>
<h3 id="해결방법-1-relurectified-linear-unit">해결방법 1. ReLU(Rectified Linear Unit)</h3>
<p><img src="https://velog.velcdn.com/images/jay_/post/82ecff70-d16d-4335-85d6-0166948b4e54/image.png" alt=""></p>
<p>활성화함수를 ReLU(또는 ReLU 유사함수)를 사용하면 됩니다. ReLU를 사용하면 비선형성을 유지하면서, vanishing graident 문제를 해결할 수 있습니다. (다른 논문에 따르면 실제 계산 속도 또한 더 빨라진다고 합니다.)</p>
<h3 id="해결방법-2-batch-normalization">해결방법 2. Batch Normalization</h3>
<p><img src="https://velog.velcdn.com/images/jay_/post/fa7922ae-31a6-43e9-aa29-197d836cf109/image.png" alt=""></p>
<p>(epoch는 반복횟수, batch는 한꺼번에 계산되는 단위이다.)
<br>
어떤 한 input node에 대해서 한 배치의 값들이 ReLU를 지나간다고 생각해보자, 값들이 모두 0이상이면, 비선형성이 떨어지고, 모두 0이하면, vanishing graident 문제를 해결하지 못한다.
-&gt; 그러므로 이 값들을 normalization 시켬으로써 기능을 향상킨다.
-&gt; 평균이 몇, 분산이 몇으로 할지 애매하기에 학습 파라미터로 추가하여 학습시킴
💡 (미분가능하면 역전파로 학습이 가능하다!)</p>
<p>(최근 batch normalization에 대해서 관점이 조금다른 논문이 발표됬다는것들은 기억이 있다. 그 논문도 참고하면 좋을것 같다.)</p>
<br>
<br>

<h2 id="loss-landscape이-매끄럽지-않은-문제">Loss landscape이 매끄럽지 않은 문제</h2>
<hr>
<br>

<p><img src="https://velog.velcdn.com/images/jay_/post/21f29472-24a0-4589-8dd1-86f3da5d1fd3/image.png" alt=""></p>
<ul>
<li>실제 ReLU, Batch normalization 으로 vanishing graident 문제를 해결하고 깊게 만들면 기대했던것과 달리 학습이 잘 이루어지지 않음.</li>
<li>Resnet 논문에서 따르면, layer 깊게 쌓는다고 항상 성능이 좋아지는 것이 아님. <ul>
<li>resnet은 문제를 해결하기 위해 skip-connection을 제시함.</li>
<li>skip connection : 이전의 입력값을 받아서 전달함.</li>
</ul>
</li>
</ul>
<br>
<br>


<h2 id="overfitting-과-해결방법">Overfitting 과 해결방법</h2>
<hr>
<br>

<p><img src="https://velog.velcdn.com/images/jay_/post/012a3394-05f0-4adb-b5b2-4425a2f154e7/image.png" alt=""></p>
<ul>
<li>핵심은 인공신경망 모델이 trian에서 과정에서 잘하지만 test에서 잘하지 못하는 경우이다.</li>
<li>디테일 하게는 학습 데이터를 과도하게 학습한 경우로, unseen data에 대해서 generalization을 잘 하지 못하는 것이다.</li>
</ul>
<h3 id="해결-방법">해결 방법</h3>
<ol>
<li><p>모델 경량화</p>
<ul>
<li>모델의 layer 수, 파라미터 수, 등을 줄입으로써 모델을 단순하게 만든다.</li>
<li>보통 모델이 학습데이터에 비해서 크고 복잡할수록 overfitting이 발생한다.</li>
</ul>
</li>
<li><p>Data augmentation</p>
<ul>
<li>학습 데이터를 변형시키는 방법이다. 예를 들어 강아지를 학습시키는 경우에, 좌우상하반전이 되어있어도 사진은 강아지 사진이므로, 이를 이용하여 학습데이터를 증강 시킬 수 있다. </li>
</ul>
</li>
</ol>
<p><img src="https://velog.velcdn.com/images/jay_/post/4b254c96-a682-4bb5-b546-eb97f1433669/image.png" alt=""></p>
<ol start="3">
<li>Dropout</li>
</ol>
<ul>
<li>Dropout은 학습시 신경망에서 특정 노드들을 확률p 만큼 꺼졌다고 하고 진행하는 것이다. 실제 해당 노드의 결과값은 0으로 처리되며 학습이 이루어 지지않는다. 하지만 이로 인해서 남아있는 노드들이 잘 학습하게되 overfitting을 방지할 수 있다.</li>
<li>테스트시 에는 당연히 모든 노드에서 계산된다.</li>
<li>유사하게 노드가 아니라 노드간의 connection의 결과를 0으로하는 drop connect가 있다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jay_/post/63642bdb-145d-4050-b376-24c89a92e1db/image.png" alt=""></p>
<ol start="4">
<li>Regularization</li>
</ol>
<ul>
<li>기존의 loss 함수에 weight 값들 고려한다는 개념. (weight의 L1,L2 norm)</li>
<li>특정 weight 값들이 너무 커지지 않도록 한다. weight가 편향되지 않게 함.</li>
<li>수학적으로 MAP(Maximum A Posteriori)로 해석, weight norm 을 prior distribution에서 생긴값으로 가정</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jay_/post/b63fc7e9-573b-49ae-b4d8-3137762836ce/image.png" alt=""></p>
<br>
<br>
<br>
<br>

<h1 id="전체적인-강의-후기">전체적인 강의 후기.</h1>
<p> _
 전체적인 후기로는 어려운 개념을 예시를 통해 잘 설명해 주셔서 이해가 잘되었다. 하지만 말그대로 기초 강의라 아쉬운 부분이 조금 있었는데, 논문이나 어려운 개념에대해서 한발걸음 더 나아가도 괜찮지 않을까 싶었다. <br>
 인공지능에 대해서 처음 배울때 방향성이 중요하다고 생각하는데, 그러한 개념을 잘 알려주는 강의라고 생각합니다.
 😃
 <br>
 추가적으로 제 블로그에는 올리지 않았지만 실습코드(제공해줌)을 통해서 개념을 설명해주기에 좋았던것같습니다.
_</p>
<br>


<h2 id="참고">참고</h2>
<hr>
<blockquote>
</blockquote>
<p>본 게시글은 패스트캠퍼스 [ 혁펜하임의 AI DEEP DIVE] 체험단 활동을 위해 작성되었습니다.</p>
<p>강의 링크 : <a href="https://bit.ly/3GV73FN">https://bit.ly/3GV73FN</a></p>
<p>#패스트캠퍼스혁펜하임 #혁펜하임 #혁펜하임AI #AIDEEPDIVE #패스트캠퍼스 #AI강의 #혁펜하임강의 #혁펜하임강의후기</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[혁펜하임의 AI DEEP DIVE(Online) 체험단 후기-2]]></title>
            <link>https://velog.io/@jay_/%ED%98%81%ED%8E%9C%ED%95%98%EC%9E%84%EC%9D%98-AI-DEEP-DIVEOnline-%EC%B2%B4%ED%97%98%EB%8B%A8-%ED%9B%84%EA%B8%B0-2</link>
            <guid>https://velog.io/@jay_/%ED%98%81%ED%8E%9C%ED%95%98%EC%9E%84%EC%9D%98-AI-DEEP-DIVEOnline-%EC%B2%B4%ED%97%98%EB%8B%A8-%ED%9B%84%EA%B8%B0-2</guid>
            <pubDate>Tue, 07 Feb 2023 11:24:43 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/jay_/post/fd4e61c7-1b39-4594-91e5-02f02d0f091c/image.png" alt=""></p>
<br>


<h3 id="prologue">Prologue</h3>
<p>_
 💡 저번 강의 후기에 이어서 이어지는 글입니다. 후기를 어떻게 작성할까 고민하다가 강의내용을 정리하는 식으로 하게되었네요.. 저번에는 기초적인 수학이라면 이번에는 소개하고 싶은 AI 관련한 강의내용 위주로 작성하였습니다. 😀
_</p>
<br>
<br>

<h2 id="인공지능-vs-머신러닝-vs-딥러닝">인공지능 vs 머신러닝 vs 딥러닝</h2>
<hr>
<br>



<p>많은 사람들이 가장 처음 인공지능을 공부하면서 알게 되는 것이 AI,ML,DL(딥러닝)의 차이입니다. 예전에 저도 이차이를 잘 몰랐는데 간단하게 정리해봅니다.</p>
<ol>
<li>AI : 인간의 지능을 인공적으로 만든 것 (인간의 사고방식 모방)</li>
<li>ML : 데이터를 기반으로 학습</li>
<li>DL : DNN(Deep Neural Network) 기반으로 학습</li>
</ol>
<p><img src="https://velog.velcdn.com/images/jay_/post/123c93bc-c157-4d38-9f96-4fd2807fe249/image.png" alt=""></p>
<p>사진에 나와있는 선형회귀, 퍼셉트론, svm 등의 경우 데이터를 사용하지만, DNN을 사용하지는 않기에 ML이라 하는 것!
일반적으로 데이터가 많을수록 ML의 정확도가 높다. 데이터에 기반하지 않고 Rule-based로 진행하는 경우 1번 위치라 생각하면 되겠습니다.</p>
<br>
<br>

<h2 id="ml의-분류">ML의 분류</h2>
<hr>
<br>

<p>머신러닝은 크게 지도학습, 비지도 학습, 자기지도 학습, 강화학습이 있는데, 이들을 정리해보고자 합니다. (머신러닝이라 한 이유는 DNN을 쓰지 않는 학습이 있기 때문)</p>
<h3 id="지도학습-supervised-learing">지도학습 supervised learing</h3>
<p><img src="https://velog.velcdn.com/images/jay_/post/89cb879d-fdff-456a-bfa8-65ac02cb10c8/image.png" alt=""></p>
<ul>
<li>💡 지도 학습은 정답 label을 알고 있을때 할 수 있는 학습입니다. 보통 사진으로 객체를 분류하는 문제에서, 고양이와 강아지로 분류하는 것을 예로 들 수 있겠습니다. 이때 각각 데이터(사진)에는 고양이면 고양이, 강아지면 강아지로 정답이 &#39;labeling&#39; 되어 있어야 합니다. segmentation의 경우 사진에서 객체단위로 픽셀을 분류하는 것입니다. instance seg의 경우 2개의 고양이를 각각 분류할 수 있습니다.(신기)</li>
<li>그 외에도 다양한 task에 응용가능<br>


</li>
</ul>
<h3 id="비지도-학습-unsupervised-learning">비지도 학습 unsupervised learning</h3>
<ul>
<li>정답을 모르는 경우 (데이터의 labeling이 안되거나 안할거거나)</li>
<li>군집화 (k-means, DBSCAN, ... )</li>
<li>차원 축소 (데이터 전처리: PCA(Principal component analysis), SVD(singular value decomposition)</li>
<li>GAN (살짞 애매)
<img src="https://velog.velcdn.com/images/jay_/post/e76e3747-25d4-4d33-b614-f671c975daa5/image.png" alt=""></li>
</ul>
<p>많은경우 실제 task에서 labeling이 되지 않은 경우가 많다. 그런 상황에서 사용하는 방법으로 데이터를 특정 기준으로 군집화(예를들어 좌표상에서 서로 가까운 k개의 군집으로 묶기등) 또는 데이터처리(중요변수로, 한축으로 분리)로 학습을 진행합니다.</p>
<br>

<h3 id="자기지도-학습-self-supervised-learning">자기지도 학습 self-supervised learning</h3>
<p> 정답을 아는 데이터가 가장 좋지만, 부족한 경우가 많습니다. 정답을 아는 데이터가 적을때 사용하기 좋다. 사전에 적은 데이터로 진짜 task와 유사한 가짜 task에 대해서 학습 후(이때 context정보를 학습) 진짜 task에 대해서 전이 학습 및 fine tuning을 진행하는 것입니다.
<img src="https://velog.velcdn.com/images/jay_/post/6d931148-78b4-4486-9f52-8dca0a73046a/image.png" alt=""></p>
<ul>
<li>강의 자료 중 출처인 &quot;Unsupervised visual representation learning by context prediection&quot; 논문을 한번 읽어보는 것도 좋아 보입니다</li>
</ul>
<br>

<h3 id="강화-학습-reinforcement-learning">강화 학습 reinforcement learning</h3>
<ul>
<li>Agent, Reward, Environment, Action, State, Q-function, Episode 용어 참고</li>
<li>Agent가 reward를 얻기 위해 environment 와 state를 보고 action을 정한다. episode가 지나면서 더좋은 (최적화) q-function을 학습하게 된다.</li>
<li>간단하게 말을 당근과 채찍으로 원하는 바를 학습시키는 것과 유사한것 같다.<br>
<br>
<br>

</li>
</ul>
<h2 id="📌-training-test-validation">📌 Training Test Validation</h2>
<hr>
<br>

<p><img src="https://velog.velcdn.com/images/jay_/post/0f72a394-d0e8-496d-94cf-843b9a6e6d9f/image.png" alt=""></p>
<p>인공지능 신경망을 학습할때 수집한 데이터를 크게 3가지로 분류합니다. train, validation, test dataset. 각자 중요한 의미가 있기에 정리해봅니다.</p>
<ul>
<li>Train : Train data를 사용하여 신경망을 학습시킵니다.</li>
<li>Validation : Validation data는 train에 없던 data로 이 신경망이 얼마나 data를 잘 generalization하는지 확인합니다.(혹 overfitting은 일어나지 않는지) 학습완료후, epoch별 가장 좋은 모델을 뽑는데도 사용될 수 있습니다.</li>
<li>Test : test data로는 이 모델의 성능을 파악하는 것입니다. 중요한 것은 test역시 train에 포함되지 않아야 합니다.</li>
</ul>
<p>인공지능 신경망의 성능은 결국 unseen data set에 대해서 얼마나 잘 generalization할 수 있냐를 보는 것이기에 이렇게 학습이 진행됩니다.</p>
<h2 id="참고">참고</h2>
<hr>
<blockquote>
</blockquote>
<p>본 게시글은 패스트캠퍼스 [ 혁펜하임의 AI DEEP DIVE] 체험단 활동을 위해 작성되었습니다.</p>
<p>강의 링크 : <a href="https://bit.ly/3GV73FN">https://bit.ly/3GV73FN</a></p>
<p>#패스트캠퍼스혁펜하임 #혁펜하임 #혁펜하임AI #AIDEEPDIVE #패스트캠퍼스 #AI강의 #혁펜하임강의 #혁펜하임강의후기</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[혁펜하임의 AI DEEP DIVE(Online) 체험단 후기-1]]></title>
            <link>https://velog.io/@jay_/%ED%98%81%ED%8E%9C%ED%95%98%EC%9E%84%EC%9D%98-AI-DEEP-DIVEOnline-%EC%B2%B4%ED%97%98%EB%8B%A8-%ED%9B%84%EA%B8%B0-1</link>
            <guid>https://velog.io/@jay_/%ED%98%81%ED%8E%9C%ED%95%98%EC%9E%84%EC%9D%98-AI-DEEP-DIVEOnline-%EC%B2%B4%ED%97%98%EB%8B%A8-%ED%9B%84%EA%B8%B0-1</guid>
            <pubDate>Tue, 07 Feb 2023 10:03:12 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/jay_/post/fd4e61c7-1b39-4594-91e5-02f02d0f091c/image.png" alt=""></p>
<br>


<h3 id="prologue">Prologue</h3>
<p>_
 💡 운이 좋아 혁펜하임 AI DEEP DIVE 체험단에 선정되어 강의 후기글을 남기게 되었습니다. 학부때나 대학원 면접 준비등을 하면서 수학, 인공지능 관련 정보들을 혁펜하임님의 유튜브 강의를 좀 참고하였었는데, 개념들을 잘 설명해주시는 부분이 인상이 깊었습니다. 학부 졸업후 개념복습 겸 신청했는데, 선정이 되서 많이 기쁩니다. <br>
 AI DEEP DIVE 강의는 전반적인 인공지능 기초강의로 앞으로 수강 후기를 작성하게 되었습니다 😀
_</p>
<br>
<br>


<hr>
<h1 id="혁펜하임의-ai-deep-diveonline-강의">혁펜하임의 AI DEEP DIVE(Online) 강의</h1>
<br>

<p><img src="https://velog.velcdn.com/images/jay_/post/f801ff15-c2b4-40ac-9d86-9b7c07d2fe77/image.png" alt=""></p>
<br>


<p>먼저 강의목차와 간략한 내용은 다음과 같습니다 😀</p>
<blockquote>
</blockquote>
<ol>
<li>딥러닝을 위한 필수 기초 수학 (약5시간)<ul>
<li>함수,로그,미분 ~ 확률분포, 최대 우도추정(MLE), 최대 사우확률(MAP)</li>
</ul>
</li>
<li>왜 현재 AI가 가장 핫할까? (약1시간)<ul>
<li>AI,ML,DL의 차이, 비지도 학습, 자기지도, 강화 학습</li>
</ul>
</li>
<li>왜 우리는 인공신경망을 공부해야하는가? (약2시간)<ul>
<li>weight의 이해, 경사 하강법, 학습,검증,테스트의 차이</li>
</ul>
</li>
<li>딥러닝, 그것이 알고싶다. (약1시간)<ul>
<li>activation, backpropagation 이해</li>
</ul>
</li>
<li>이진 분류와 다중류 (약2시간)<ul>
<li>sigmoid 이진분류, MLE와 인공신경망, softmax</li>
</ul>
</li>
<li>인공신경망, 그한계는 어디까지인가? (약50분)<ul>
<li>universal approximation theorem</li>
</ul>
</li>
<li>깊은 인공신경망의 고질적 문제와 해결방안 (약2시간반)<ul>
<li>ReLU,batch normalization, regularization</li>
</ul>
</li>
<li>왜 CNN이 이미지 데이터에 많이 쓰일까? (약 2시간)<ul>
<li>CNN, VGGnet</li>
</ul>
</li>
<li>왜 RNN보다 트랜스포머가 더 좋다는 걸까?(약1시간)<ul>
<li>RNN 역전파, attention</li>
</ul>
</li>
</ol>
<br>

<p>전판 적으로 학부수업때 들었던 미적분학, 확률과 통계 등 기초 수학내용중에서 인공지능에 필요한 내용을 주로 모아 설명해주셨던것 같습니다. ^_^ </p>
<br>

<p>💡 강의 내용이 부분부분 나눠져 있어 아는 내용은 넘어가고, 흥미로운 부분 먼저 봐도 무방합니다. 기초 수학의 경우, 뒷내용을 보시다가 모르면 넘어와도 좋은데 전일단 그냥 봤었습니다!</p>
<br>
<br>


<h2 id="기초-수학-및-ai">기초 수학 및 AI</h2>
<hr>
<br>


<p>어렵지는 않지만 벡터 와 행렬 부분은 인공지능의 기초라고 할 수 있습니다. 선대 부분 말고도 미분, 벡터미분, 확통관련 내용들을 증명을 통해서 잘 설명해주십니다.</p>
<p><img src="https://velog.velcdn.com/images/jay_/post/352cca3d-b057-482f-a9d2-df25bfafa391/image.png" alt=""></p>
<p>몇몇 내용들을 아래와 같이 필기를 통해서 같이 들으면 좋을 것 같습니다.</p>
<p><img src="https://velog.velcdn.com/images/jay_/post/a912117f-c61c-40b9-a058-2c9c321953ed/image.jpeg" alt=""></p>
<p>인상깊었던 내용은 최대 우도 추정, 최대 사후 확률, 정보이론 기초 부분이었는데, 중요한 부분이라 생각합니다.</p>
<p><img src="https://velog.velcdn.com/images/jay_/post/ab7d60fe-1563-47d3-a59d-64041b29d4d8/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/jay_/post/9b600dc8-215d-411c-8ca6-5e47a48f9cf9/image.png" alt=""></p>
<p>위는 정리 화면이지만, 따로 강의자료를 제공합니다. 위의 수식들을 그냥 보면 잘이해가 가지 않지만, 수업에서는 하나하나 계산해가면서 설명해주십니다. :) (그래서 기초강의가 가장 길었던것 같네요)</p>
<p>기초수학의 마지막으로 Entropy, Cross-Entropy등의 개념에대해서 다루는데, 이부분은 인공지능 신경망에서 loss function에서 자주보셨을 것입니다. 저도 처음엔 제대로 이해하지 못하였는데 해당내용을 보면 좋을것 같습니다.</p>
<p><img src="https://velog.velcdn.com/images/jay_/post/ab9bcbfc-0248-459d-8c16-0f57cc5ee706/image.png" alt=""></p>
<p>굳</p>
<h2 id="참고">참고</h2>
<hr>
<blockquote>
</blockquote>
<p>본 게시글은 패스트캠퍼스 [ 혁펜하임의 AI DEEP DIVE] 체험단 활동을 위해 작성되었습니다.</p>
<p>강의 링크 : <a href="https://bit.ly/3GV73FN">https://bit.ly/3GV73FN</a></p>
<p>#패스트캠퍼스혁펜하임 #혁펜하임 #혁펜하임AI #AIDEEPDIVE #패스트캠퍼스 #AI강의 #혁펜하임강의 #혁펜하임강의후기</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Velog 글 작성법(Markdown 작성법 + 수식)]]></title>
            <link>https://velog.io/@jay_/Velog-%EA%B8%80-%EC%9E%91%EC%84%B1%EB%B2%95Markdown-%EC%9E%91%EC%84%B1%EB%B2%95</link>
            <guid>https://velog.io/@jay_/Velog-%EA%B8%80-%EC%9E%91%EC%84%B1%EB%B2%95Markdown-%EC%9E%91%EC%84%B1%EB%B2%95</guid>
            <pubDate>Mon, 21 Mar 2022 05:12:37 GMT</pubDate>
            <description><![CDATA[<h3 id="prologue">Prologue</h3>
<p>_
그동안 학생으로써 또는 개발자로서 나만의 기술 블로그를 작성하고 싶었습니다. 다양한 블로그 플랫폼(티스토리, github, 미디엄, 벨로그, 워드프레스 등등..) 고민하였으나 마크다운 기반으로 쉽게 작성가능한 velog를 첫 블로그 선택하였고.. 사용법을 작성해보고자 합니다._
<img src="https://images.velog.io/images/jay_/post/dcf7c78c-a924-4aa2-8e47-c23fc426a668/velog_logo.png" height="50%" width="50%"></p>
<br>

<hr>
<h1 id="velog-글-작성법-마크다운-문법">Velog 글 작성법 (마크다운 문법)</h1>
<br>
<br>

<h2 id="1-headings제목주제">1. Headings(제목,주제)</h2>
<hr>
<p>#을 사용하여 제목의 크기를 정합니다. 1~6개의 #으로 제목 텍스트를 설정할 수 있습니다. </p>
<blockquote>
<p>2개 이상의 headings를 사용할 경우, 자동으로 contents table을 생성해 줍니다. Contents table 각각의 headings 를 클릭하면 해당 section으로 이동합니다.</p>
</blockquote>
<br>

<ul>
<li>⌨️ 입력</li>
</ul>
<pre><code>***
## The second largest heading
***
### 3333333333333333333
***
#### 444444444444444444444
***
##### 555555555555555555555
***
###### The smallest heading6
***</code></pre><br>


<ul>
<li>🖥 출력<h1 id="the-largest-heading">The largest heading</h1>
</li>
</ul>
<hr>
<h2 id="the-second-largest-heading">The second largest heading</h2>
<hr>
<h3 id="3333333333333333333">3333333333333333333</h3>
<hr>
<h4 id="444444444444444444444">444444444444444444444</h4>
<hr>
<h5 id="555555555555555555555">555555555555555555555</h5>
<hr>
<h6 id="the-smallest-heading6">The smallest heading6</h6>
<hr>
<br>

<blockquote>
<p><code>***</code> 으로 글에서 회색 구분선을, <code>&lt;br&gt;</code>로 줄바꿈 을 할 수 있습니다. </p>
</blockquote>
<br>
<br>


<h2 id="2-styling-text글꼴-스타일">2. Styling text(글꼴 스타일)</h2>
<hr>
<p>글꼴 스타일 지정하여 텍스트를 강조할 수있습니다. </p>
<ul>
<li>bold(굵게), italic(이탈릭체), strikethrough(취소선)<br>


</li>
</ul>
<table>
<thead>
<tr>
<th>Style</th>
<th>Syntax</th>
<th>Keyboard shortcut</th>
<th>Example</th>
<th>Output</th>
</tr>
</thead>
<tbody><tr>
<td>Bold</td>
<td>** ** or __ __</td>
<td>Command + B (MAC) or <br>Ctrl+B (Windows/Linux)</td>
<td><code>**This is bold text**</code></td>
<td><strong>This is bold text</strong></td>
</tr>
<tr>
<td>Italic</td>
<td>* * or _ _</td>
<td>Comand + I (MAC) or <br>Ctrl+I (Windows/Linux)</td>
<td><code>*This text is italicized*</code></td>
<td><em>This text is italicized</em></td>
</tr>
<tr>
<td>Strikethrough</td>
<td><del>~ ~</del></td>
<td></td>
<td><code>~~This was mistaken text~~</code></td>
<td><del>This was mistaken text</del></td>
</tr>
<tr>
<td>Bold and nested italic</td>
<td>** ** and _ _</td>
<td></td>
<td><code>**This text is _extremely_ important**</code></td>
<td><strong>This text is <em>extremely</em> important</strong></td>
</tr>
<tr>
<td>All bold and italic</td>
<td><code>*** ***</code></td>
<td></td>
<td><code>***All this text is important***</code></td>
<td><strong><em>All this text is important</em></strong></td>
</tr>
<tr>
<td><br></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><br></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody></table>
<h2 id="3-quoting-text인용문">3. Quoting text(인용문)</h2>
<hr>
<p>텍스트를 <code>&gt;</code> 이용하여 인용할 수 있습니다.
<br></p>
<ul>
<li>⌨️ 입력
<code>Text that is not a quote</code>
<code>&gt; Thext that is a quote</code><br></li>
<li>🖥 출력
Text that is not a quote<blockquote>
<p>Text that is quote</p>
</blockquote>
</li>
</ul>
<p>추가적으로 중복하여 사용할 수 있습니다.</p>
<ul>
<li><p>⌨️ 입력</p>
<pre><code>&gt;Text that is quote
&gt;&gt;Quote that is in quote</code></pre></li>
<li><p>🖥 출력</p>
<blockquote>
<p>Text that is quote</p>
<blockquote>
<p>Quote that is in quote</p>
</blockquote>
</blockquote>
</li>
</ul>
<br>
<br>

<h2 id="4-quoting-code코드-인용">4. Quoting code(코드 인용)</h2>
<hr>
<p>하나의 backticks <code>`</code> 으로 문장내 코드 또는 명령을 작성할 수 있습니다. backticks 내의 텍스트들은 포맷되지않고 그대로 출력됩니다.</p>
<br>

<ul>
<li><p>⌨️ 입력 
Use <code>`</code> git status  <code>`</code> to list all new or modified files that haven&#39;t yet been committed.</p>
<br>
</li>
<li><p>🖥 출력</p>
</li>
</ul>
<p>Use <code>git status</code> to list all new or modified files that haven&#39;t yet been committed.</p>
<blockquote>
<p>코드나 텍스트를 독립적인 블록에 작성하고 싶다면 3개의 backticks <code>`</code>를 사용해 보세요!</p>
</blockquote>
<ul>
<li>⌨️ 입력</li>
</ul>
<pre><code>Some basic Git commands are:
```
git status
git add
git commit
```</code></pre><br>

<ul>
<li>🖥 출력</li>
</ul>
<pre><code>git status
git add
git commit</code></pre><br>

<h3 id="41-syntax-highlighting문법-강조">4.1 Syntax highlighting(문법 강조)</h3>
<ul>
<li><p>추가적인 언어 구별자를 사용해 코드 블럭 에서 syntax 강조를 할 수 있습니다.</p>
<br>
_예를들어 간단한 파이썬 코드를 작성해 보겠습니다._
</li>
<li><p>⌨️ 입력</p>
<pre><code>```python
def function1():
  for i in range(10):
      print(&quot;Hello Velog!&quot;)
  print(&quot;function1 finished&quot;)
</code></pre></li>
</ul>
<pre><code></code></pre><ul>
<li>🖥 출력</li>
</ul>
<pre><code class="language-python">def function1():
    for i in range(10):
        print(&quot;Hello Velog!&quot;)
    print(&quot;function1 finished&quot;)
</code></pre>
<br>
<br>

<h2 id="5-links링크">5. Links(링크)</h2>
<hr>
<p>인라인 링크를 작성하려면 대괄호 <code>[]</code> 로 묶은후 URL을 ()로 묶은후 입력하면 됩니다.</p>
<ul>
<li><p>⌨️ 입력
<code>I like [Github Pages](https://pages.github.com/).</code>
<code>I like [Velog](https:https://velog.io/).</code></p>
</li>
<li><p>🖥 출력
I like <a href="https://pages.github.com/">Github Pages</a>.
I like <a href="https:https://velog.io/">Velog</a>.</p>
</li>
</ul>
<br>
<br>


<h2 id="6-images이미지">6. Images(이미지)</h2>
<hr>
<p><code>!</code>입력후 <code>[ ]</code> 를 입력하고 이미지 링크를 입력하면 이미지를 띄울 수 있습니다. 컴퓨터에 있는 파일을 올리면 자동으로 링크를 생성해줍니다.</p>
<ul>
<li>⌨️ 입력<pre><code>![](https://images.velog.io/images/jay_/post/dcf7c78c-a924-4aa2-8e47-c23fc426a668/velog_logo.png)</code></pre></li>
</ul>
<br>

<ul>
<li>🖥 출력
<img src="https://images.velog.io/images/jay_/post/dcf7c78c-a924-4aa2-8e47-c23fc426a668/velog_logo.png" alt=""></li>
</ul>
<h3 id="61-images-크기-조절">6.1 Images 크기 조절</h3>
<p>html 을 활용하여 작성하면 width, height를 px,%등으로 입력하여 사이즈를 조절할 수 있습니다.</p>
<ul>
<li><p>⌨️ 입력 
<code>&lt;img src=&quot;https://images.velog.io/images/jay_/post/dcf7c78c-a924-4aa2-8e47-c23fc426a668/velog_logo.png&quot; height=&quot;20%&quot; width=&quot;20%&quot;&gt;</code></p>
</li>
<li><p>🖥 출력</p>
<img src="https://images.velog.io/images/jay_/post/dcf7c78c-a924-4aa2-8e47-c23fc426a668/velog_logo.png" height="20%" width="20%">

</li>
</ul>
<blockquote>
<p>💡 height, width 뿐만 아니라 align값을 right, left를 입력하면 오른쪽, 왼쪽정렬이 가능합니다! </p>
</blockquote>
<br>
<br>


<h2 id="7-lists목록">7. Lists(목록)</h2>
<hr>
<p><code>-</code> 또는 <code>*</code> 사용하여 순서없는 목록을 만들 수 있습니다.</p>
<ul>
<li><p>⌨️ 입력
```</p>
</li>
<li><p>George Washington</p>
</li>
<li><p>John Adams</p>
</li>
<li><p>Thomas Jefferson</p>
<pre><code></code></pre></li>
<li><p>🖥 출력</p>
</li>
<li><p>George Washington</p>
</li>
<li><p>John Adams</p>
</li>
<li><p>Thomas Jefferson</p>
</li>
</ul>
<p>순서가 있는 목록은 각 행 앞에 숫자를 붙이면 됩니다.</p>
<ul>
<li>⌨️ 입력
```</li>
</ul>
<ol>
<li>James Madison</li>
<li>James Monroe</li>
<li>John Quincy Adams
```</li>
</ol>
<ul>
<li>🖥 출력</li>
</ul>
<ol>
<li>James Madison</li>
<li>James Monroe</li>
<li>John Quincy Adams<br>
#### Nested list (중첩 목록)
하나 이상의 목록을 다른 항목 아래에 들여써 중첩 목록을 만들 수 있습니다. `-` 또는 `*`가 상위 항목의 텍스트 첫문자 바로 아래에 올때 까지 공백문자를 입력하면 됩니다.
</li>
</ol>
<ul>
<li>⌨️ 입력
```</li>
</ul>
<ol>
<li>First list item<ul>
<li>First nested list item<ul>
<li>Second nested list item<pre><code></code></pre></li>
</ul>
</li>
</ul>
</li>
</ol>
<ul>
<li>🖥 출력</li>
</ul>
<ol>
<li>First list item<ul>
<li>First nested list item<ul>
<li>Second nested list item</li>
</ul>
</li>
</ul>
</li>
</ol>
<br>
<br>

<h2 id="8-이모티콘">8. 이모티콘</h2>
<hr>
<p>다음의 단축키로 이모티콘을 사용할 수 있습니다.
Window : window + <code>.</code>
Mac : Command + Control + Spacebar
 🖥⌨️🐽💡►🦊</p>
<p><br><br></p>
<h2 id="9-tables표">9. Tables(표)</h2>
<hr>
<p>파이프 <code>|</code> 와 하이픈 <code>-</code>을 사용하여 table을 만들 수 있습니다. <code>-</code>은 각 열의 헤더를 만들때, <code>|</code>는 각 열을 구분하는데 사용합니다. (테이블윗줄이 비어있어야 합니다.)</p>
<ul>
<li>⌨️ 입력<pre><code>| Command | Description |
| --- | --- |
| `git status` | List all *new or modified* files |
| `git diff` | Show file differences that **haven&#39;t been** staged |</code></pre></li>
<li>🖥 출력</li>
</ul>
<table>
<thead>
<tr>
<th>Command</th>
<th>Description</th>
</tr>
</thead>
<tbody><tr>
<td><code>git status</code></td>
<td>List all <em>new or modified</em> files</td>
</tr>
<tr>
<td><code>git diff</code></td>
<td>Show file differences that <strong>haven&#39;t been</strong> staged</td>
</tr>
</tbody></table>
<p>다음과 같이 오른쪽, 왼쪽 중앙 정렬도 가능합니다.</p>
<ul>
<li>⌨️ 입력<pre><code>| Left-aligned | Center-aligned | Right-aligned |
| :---         |     :---:      |          ---: |
| git status   | git status     | git status    |
| git diff     | git diff       | git diff      |</code></pre></li>
<li>🖥 출력</li>
</ul>
<table>
<thead>
<tr>
<th align="left">Left-aligned</th>
<th align="center">Center-aligned</th>
<th align="right">Right-aligned</th>
</tr>
</thead>
<tbody><tr>
<td align="left">git status</td>
<td align="center">git status</td>
<td align="right">git status</td>
</tr>
<tr>
<td align="left">git diff</td>
<td align="center">git diff</td>
<td align="right">git diff</td>
</tr>
</tbody></table>
<br>
<br>

<h2 id="10-수식">10. 수식</h2>
<hr>
<p>수식은 보통 논문에서 많이 보게되고 이에 작성의 필요성을 느껴 추가합니다. velog 에서 수식 작성은 KaTex 라이브러리를 이용하여 작성할 수 있습니다. 일반적으로 <code>$$</code> 태그를 사이에 두고 작성합니다. (관련 내용 업데이트는 velog 공식 블로그에 간략하게 나와있습니다.) </p>
<p><strong>예시1</strong></p>
<ul>
<li><p>⌨️ 입력</p>
<pre><code>$$
\begin{bmatrix}a &amp; b \\ c &amp; d \end{bmatrix} * 
\begin{bmatrix}a &amp; b \\ c &amp; d \end{bmatrix} = 
\begin{bmatrix}a^2 + bc &amp; ab+bd \\ 
ac+cd &amp; bc+d^2 \end{bmatrix}
$$</code></pre></li>
<li><p>🖥 출력
$$
\begin{bmatrix}a &amp; b \ c &amp; d \end{bmatrix} * 
\begin{bmatrix}a &amp; b \ c &amp; d \end{bmatrix} = 
\begin{bmatrix}a^2 + bc &amp; ab+bd \ 
ac+cd &amp; bc+d^2 \end{bmatrix}
$$</p>
</li>
</ul>
<br>


<p><strong>예시2</strong></p>
<ul>
<li><p>⌨️ 입력
```
$$
\displaystyle\sum_{i=1}^{k+1}i
\displaystyle \displaystyle= \left(\sum_{i=1}^{k}i\right) </p>
</li>
<li><p>(k+1)
$$</p>
<pre><code></code></pre></li>
<li><p>🖥 출력
$$
\displaystyle\sum_{i=1}^{k+1}i
\displaystyle \displaystyle= \left(\sum_{i=1}^{k}i\right) </p>
</li>
<li><p>(k+1)
$$</p>
</li>
</ul>
<br>
<br>

<blockquote>
<p>수학을 전공하지는 않았지만 수식에는 정말 다양한 표기가 있음을 압니다. 다양한 표기를 작성하는 방법은 Katex Docs 링크를 참고하시면 좋을 것 같습니다.
<a href="https://katex.org/docs/supported.html">https://katex.org/docs/supported.html</a></p>
</blockquote>
<h2 id="참고자료">참고자료</h2>
<hr>
<p>Velog [Markdown] 사용법:
<a href="https://velog.io/@kim-mg/velog-%EA%B8%80%EC%93%B0%EA%B8%B0-markdown-%EC%9E%91%EC%84%B1%EB%B2%95">https://velog.io/@kim-mg/velog-%EA%B8%80%EC%93%B0%EA%B8%B0-markdown-%EC%9E%91%EC%84%B1%EB%B2%95</a>
<br>
[Markdown] 이미지 크기 조절,정렬
<a href="https://velog.io/@baekmoon1230/Markdown-%EC%9D%B4%EB%AF%B8%EC%A7%80-%ED%81%AC%EA%B8%B0-%EC%A1%B0%EC%A0%88-%EC%A0%95%EB%A0%AC">https://velog.io/@baekmoon1230/Markdown-%EC%9D%B4%EB%AF%B8%EC%A7%80-%ED%81%AC%EA%B8%B0-%EC%A1%B0%EC%A0%88-%EC%A0%95%EB%A0%AC</a>
<br>
깃허브Docs
<a href="https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#quoting-code">https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#quoting-code</a>
<br></p>
<p>벨로그 공식 블로그
<a href="https://velog.io/@velog/v2-update#10-%EC%82%AC%EB%9D%BC%EC%A7%84-%EA%B8%B0%EB%8A%A5%EB%93%A4">https://velog.io/@velog/v2-update#10-%EC%82%AC%EB%9D%BC%EC%A7%84-%EA%B8%B0%EB%8A%A5%EB%93%A4</a>
<br>
<br></p>
<h2 id="좀더-읽어볼만한-자료">좀더 읽어볼만한 자료</h2>
<hr>
<p>깃허브 - Working with advanced formatting
<a href="https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting">https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting</a>
<br>
마크다운 문법 - detail한 글
<a href="https://velog.io/@wonhs717/%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4Markdown-%EB%AC%B8%EB%B2%95-ytk5zemk0x">https://velog.io/@wonhs717/%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4Markdown-%EB%AC%B8%EB%B2%95-ytk5zemk0x</a>
<br><br><br><br></p>
<hr>
<h3 id="epilogue">Epilogue</h3>
<blockquote>
<p><em>Velog ..  그리고 블로그 첫 글을 작성해 보았습니다. 글재주가 없고, 마크다운 작성법을 공부해 가면서 작성하느라 시간이 조금 걸렸습니다. 부족하거나 틀린부분있으면 편하게 말씀해주시면 감사드리겠습니다!</em></p>
</blockquote>
<blockquote>
<p>현재 이미지 크기조절이 잘 안되네요.. 참고하시길 바랍니다.</p>
</blockquote>
]]></description>
        </item>
    </channel>
</rss>