<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>k_shape.log</title>
        <link>https://velog.io/</link>
        <description>Security/AI/Engineer</description>
        <lastBuildDate>Sun, 14 Mar 2021 07:48:45 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>k_shape.log</title>
            <url>https://images.velog.io/images/k_shape/profile/3ac336a1-ad8a-455e-b0cf-71d307d5ef29/social.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. k_shape.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/k_shape" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[
Explainable Artificial Intelligence: Understanding, Visualizing and Interpreting Deep Learning Models_Review]]></title>
            <link>https://velog.io/@k_shape/Explainable-Artificial-Intelligence-Understanding-Visualizing-and-Interpreting-Deep-Learning-ModelsReview</link>
            <guid>https://velog.io/@k_shape/Explainable-Artificial-Intelligence-Understanding-Visualizing-and-Interpreting-Deep-Learning-ModelsReview</guid>
            <pubDate>Sun, 14 Mar 2021 07:48:45 GMT</pubDate>
            <description><![CDATA[<h1 id="preview">Preview</h1>
<p>-Title
     <a href="https://arxiv.org/abs/1708.08296">Explainalbe Artificial Intellgence : understand, Visuallzing and interpreting Deep Learning Models</a></p>
<p>-Author</p>
<ul>
<li>Wojciech Samek</li>
<li>Thomas Wiegand</li>
<li>Klaus-Robert Muller</li>
</ul>
<p>-Publication Information
    arXiv, 2017.08</p>
<p>-Index Terms</p>
<ul>
<li>Artificial intelligence</li>
<li>deep neural networks</li>
<li>black box models</li>
<li>interpretability</li>
<li>sensitivity analysis</li>
<li>layerwise relevance propagateon </li>
</ul>
<p>-Objection</p>
<ul>
<li>XAI 분야의 동향 분석 요약(2017년), AI 해석 가능성 성능의 중요성 인식 제고</li>
<li>Deep Learning model의 prediction을 설명하는 두 가지 접근 방식을 제시, 3가지의 Classification Task 평가</li>
</ul>
<h1 id="background">Background</h1>
<p>AI 기술은 사용자에게 분류, 추천, 예측 등의 정보를 제공하며 광범위한 분야에서 다양한 용도로 활용 중
하지만, AI 기술은 Algorithm Complexity(알고리즘 복잡성)으로 인해 <code>Black box</code> 특성이 존재, 도출 과정과 도출한 최종 결과에 대한 타당성을 제공하지 못하는 한계점이 존재</p>
<pre><code>Black Box 특성 : Input data에 대해 어떠한 정보가 어떠한 과정을 거쳐 결과에 어떠한 영향을 주었는지 명확히 파악할 수 없는 특성</code></pre><ul>
<li>AlphaGo가 &#39;왜 해당 지점에 바둑돌을 두었는가?&#39;에 대한 의문</li>
<li>AlphaGo의 접근법 성공에 대한 논리적 근거 부족성, 결정 과정을 이해하거나 검증할 수 없는 이슈 제기</li>
</ul>
<p>Deep Learning Model의 경우 우수한 성능을 보였지만 model의 복잡한 비선형 구조로 인해 데이터 차원에서 그 요인을 파악하는 것은 어려움. 따라서, 결과에 따른 원인을 파악할 수 없어 투명성, 타당성 부족에 대한 문제가 야기</p>
<p>이러한 문제 해결을 위해 Deep Learning Model이 판단한 과정과 판단 근거의 투명성, 타당성을 부여하고자 하는 <code>&#39;XAI(설명 가능한 AI)&#39;</code> 기술 필요성 제기</p>
<h1 id="xaiexplainable-artificial-intelligence">XAI(Explainable Artificial Intelligence)</h1>
<pre><code>AI 결과에 대한 인과관계를 분석하여 근거와 타당성 제시, AI의 행위와 판단을 사람이 이해할 수 있는 형태로 설명할 수 있는 기술</code></pre><p> AI model 설명성(ExPlainability)
 해석성(Interpretability) : system 구조를 이해 가능한 수준으로 설명
 정확성(Completeness) : system 동작 원리를 정확한 방법으로 설명</p>
<h2 id="xai의-의미-변화">XAI의 의미 변화</h2>
<table>
<thead>
<tr>
<th>year</th>
<th>description</th>
</tr>
</thead>
<tbody><tr>
<td>1975년</td>
<td>✔️설명 가능한 의사 결정 체계<br>✔️전문가 시스템에서 컴퓨터의 의사결정 과정을 확인하는 연구</td>
</tr>
<tr>
<td>2004년</td>
<td>✔️설명 가능한 인공지능 &#39;XAI&#39;라 명칭(반 렌트, 피셔, 만쿠소<br>✔️컴퓨터와 AI System의 복잡성 증가, 그에 반해 자기 설명 기능에는 발전이 미비<br>✔️군대의 모의 전투 프로그램 속 NPC 인공지능을 개조하여 행동 이유 설명 아키텍처 제안</td>
</tr>
<tr>
<td>2010년대 초</td>
<td>✔️계산력을 비롯한 물리적 한계가 존재, 인공지능을 통한 문제 해결에 집중</td>
</tr>
<tr>
<td>2017</td>
<td>✔️H/W의 발전으로 데이터 처리 수준 향상으로 인한 Big data 유용성 증가<br>✔️기계가 학습하는 Feature 양의 증가로 인한 의사 결정 분기점 증가 <br>✔️AI Model이 특정 결론을 내리기까지 설명 가능성을 추가하는 기법에 조명</td>
</tr>
<tr>
<td><br></td>
<td></td>
</tr>
</tbody></table>
<table>
<thead>
<tr>
<th><img src="https://images.velog.io/images/k_shape/post/b0401d96-1263-46e4-b996-847de77f1ed4/XAI.PNG" alt="Explainable AI – What Are We Trying To Do?, DARPA" title="Explainable AI – What Are We Trying To Do?, DARPA"></th>
</tr>
</thead>
<tbody><tr>
<td>Explainable AI – What Are We Trying To Do?, DARPA</td>
</tr>
<tr>
<td>DARPA : ARPA(Advanced Research Project Agency) – 군사 기술 개발 <br>D = Defense, 방어 정책에 초점<br>2016년 문서번호 BBA-16-53, XAI(Explainable Artificial Intelliegence)</td>
</tr>
</tbody></table>
<h2 id="darpa에서-제시하는-xai의-목적">DARPA에서 제시하는 XAI의 목적</h2>
<ul>
<li>Model Complexity를 감소   </li>
<li>System output 신뢰 가능</li>
<li>의사 결정을 위해 AI Model 활용 가능</li>
</ul>
<h2 id="darpa에서-제시하는-xai의-3가지-과정">DARPA에서 제시하는 XAI의 3가지 과정</h2>
<ol>
<li>기존 ML Model에 설명 가능한 기능 추가 </li>
<li>ML Model에 HCI(Human Computer Interaction)</li>
<li>XAI를 통한 현재 상황 개선</li>
</ol>
<h2 id="xai의-이점과-한계점">XAI의 이점과 한계점</h2>
<table>
<thead>
<tr>
<th>이점</th>
<th>한계점</th>
</tr>
</thead>
<tbody><tr>
<td>✔️새로운 Insight<br>✔️AI 연구원들에게 개선 방향 제시, 비 전문가들과 소통하기 위한 수단<br>✔️비 전문가들에겐 AI를 신뢰할 수 있는 근거</td>
<td>✔️정확도가 낮은 AI Model에 적용 시 역효과 야기<br>✔️XAI를 지원하는 각기 다른 Method의 상충되는 결과 도출<br>✔️Data Scientist 역량에 따른 성능 차이</td>
</tr>
</tbody></table>
<h2 id="why-do-we-need-explainable-ai">why do we need Explainable AI</h2>
<ul>
<li>Verification of the system
✔️ AI Model 적용 분야의 전문가에 의해 검증 가능
✔️ data domaim에 대한 이해가 부족한 상태에서 개발된 model은 잘못된 결론에 도달할 가능성이 존재</li>
<li>Improvement of the system
✔️ Model의 취약점을 파악하여 개선 방안 모색, 다른 model과의 비교 분석
✔️ Model의 성능 저하 요소를 파악하여 data processing, 활성 함수 변경 등 효과적인 개선 방안 도출 가능</li>
<li>Learning from the system
✔️ AI model이 새로운 Insight 제공 가능
✔️ black box model의 결과 예측뿐만 아니라 숨겨진 법칙을 발견 이를 사람이 습득 가능</li>
<li>Compliance to legislation
✔️ 법적 질문과 그 결정 이유에 대한 투명한 근거 필요
✔️ EU &#39;설명권(right to explanation)&#39;에 대한 규정, 사용자가 자신에 대한 알고리즘적 결정에 대한 설명을 요청할 수 있는 권리</li>
</ul>
<h1 id="methods-for-xai">METHODS for XAI</h1>
<pre><code>- Sensitivity Analysis(SA)
- Layer-Wise Relevance Propagation(LRP)
- LIME
- Decision trees
- Deep Taylor Decomposition
- DeepLift
- KT-method
- Validity Internal analysis</code></pre><p>위와 같은 다양항 방법으로 AI를 설명하는 연구가 진행 중
본 논문에서는 SA와 LRP 방법을 설명 및 실험 결과를 제시</p>
<h2 id="sasensitivity-analysis">SA(Sensitivity Analysis)</h2>
<p>통계, 경여 분야에서 사용되는 방법으로 타당성 평가 과정에서 사용된 변수를 변화시켜 최종적인 결과가 예측치 못한 상황 변화에 대한 예상을 할 수 있도록 하는 방법
<img src="https://images.velog.io/images/k_shape/post/56c7cd22-4a99-4621-aed8-aa10a5935a68/image.png" alt=""></p>
<p>XAI :</p>
<ul>
<li>How much do changes in each Variables affect the prediction</li>
</ul>
<p>입력 변화에 대한 예측 결과의 변화량을 정량화하여 입력 이미지의 어떤 부분이 딥러닝 모델의 결과도출에 큰 영향을 미쳤는지에 대한 설명 <code>(the most Sensitive Variables = the most relevant input Variables)를 전제</code></p>
<ul>
<li>Input Variables 𝑖 Importance 𝑅_𝑖
<img src="https://images.velog.io/images/k_shape/post/2f5e26f4-0d92-44d8-b5f5-672d443b943b/image.png" alt="">
✔️ SA Heatmap에는 결과에 민감한 영향을 끼친 입력 값만을 확인가능하고 중요도를 나타내지는 못함</li>
</ul>
<h2 id="lrp-layer-wise-relevance-propagation">LRP (Layer Wise Relevance Propagation)</h2>
<p>XAI : How much dose each Variables contribute to prediction</p>
<p>예측 결과로부터 역전파 형태로 신경망의 각 레이어별 기여도를 측정할 수 있는 방법, 딥러닝 모델의 부분 모듈인 각 레이어의 기여도를 Heatmap 형태로 시각화하여 직관적 이해 가능
<img src="https://images.velog.io/images/k_shape/post/bef16a4d-57bd-4667-a76a-40487dec1261/image.png" alt=""></p>
<ul>
<li>Layer-Wise  : 레이어 단위로</li>
<li>Relevance   : 결과에 영향을 주는 관련성을 구하는</li>
<li>Propagation : 역전파 기술</br> </li>
<li>Keep total relevance score by layer
<img src="https://images.velog.io/images/k_shape/post/e143a16d-da91-491e-90e2-bc2dad91d9ad/image.png" alt=""></li>
</ul>
<ul>
<li><p>Calculation relevance score 𝑅_𝑖
<img src="https://images.velog.io/images/k_shape/post/e7e633aa-16a9-4fd5-bd68-45b1a5cb70bd/image.png" alt=""></p>
<p>✔️ FFNN, LSTM, Fisher Vector Classifiers framework를 사용하며 최대 불확실성 대비 예측에 관한 상대적인 수치로 설명</p>
</li>
</ul>
<h2 id="evaluation-the-quality-of-explanations">Evaluation the quality of explanations</h2>
<p>Deep Learning model을 설명하기 위해 많은 방법들이 존재하나 이러한 방법들의 설명력을 비교하기 위해서는 <code>설명의 품질(quality)</code>에 대한 객관적인 측정이 필요</p>
<p>Gradient, SmoothGrad 등과 같은 방법들의 heatmap 결과와 Edge Detector(model의 input value, train과는 연관이 없음)의 heatmap 결과를 비교하였을때 차이가 크지 않음을 확인 가능</p>
<table>
<thead>
<tr>
<th><img src="https://images.velog.io/images/k_shape/post/45ed434d-dfd2-4ec6-95dd-b1643c0bd57c/%ED%8F%89%EA%B0%80%20%EB%B0%A9%EB%B2%95.png" alt=""></th>
</tr>
</thead>
<tbody><tr>
<td>&lt; Sanity checks for saliency maps &gt;</td>
</tr>
</tbody></table>
<p>시각적 자료(heatmap)만으로는 model의 설명력을 판단하기에 역부족
본 논문에서는 섭동 이론(perturbation theory)에 기초한  quality 측정 방법을 제안</p>
<pre><code>섭동 이론 : 정확한 해가 잘 알려진 어떤 계에 미세한 변화를 줬을 때 그 해가 어떻게 변화하는지를 수학적으로 풀어내기 위한 도구인데, 특별한 경우가 아니면 보통 양자역학에서의 섭동 이론을 지칭</code></pre><p>해당 방법은 다음의 3가지 조건을 기반</p>
<ol>
<li>perturbation of input variables which are highly important &gt; the perturbation of input dimensions which are of lesser importance
예측에 매우 중요한 입력 변수의 perturbation은 덜 중요한 입력 변수들의 perturbation보다 큼
그렇기 때문에 중요한 입력 변수의 미세변화가 일어날수록 예측 점수가 더 급격하게 감소<br></li>
<li>SA와 LRP와 같은 설명 방법은 모든 입력 변수에 점수를 제공 따라서 제공된 관련성 점수에 따라 입력 변수를 정렬 가능<br></li>
<li>입력 변수를 가장 관련성이 높은 변수부터 시작하여 반복적으로 변화(본 논문에서는 삭제)시켜, 모든 변화 단계 후에 예측 점수를 확인, 예측 점수(정확도)가 감소가 크게 감소하는 것은 관련성이 높은 입력 변수를 식별하였음을 의미</li>
</ol>
<p>(1) SA와 LRP와 각 설명 방법을 통해 입력 변수 점수 계산
(2) 점수가 높은 상위 변수로부터 k번째 입력 변수를 선택
(3) random noise를 주고 예측 점수를 확인한 뒤 
(4) 이를 통해 관련성이 높은 변수를 찾고 예측 점수의 변화폭을 확인</p>
<h1 id="evaluating-the-quality-of-explanations">EVALUATING THE QUALITY OF EXPLANATIONS</h1>
<h2 id="image-classification">Image Classification</h2>
<ul>
<li>실험 환경
<img src="https://images.velog.io/images/k_shape/post/11d9c0df-fefa-4abf-b3f7-8cc779489b2b/image.png" alt=""></li>
</ul>
<table>
<thead>
<tr>
<th><img src="https://images.velog.io/images/k_shape/post/4effc976-1a8b-4c6f-96f1-49688cb9bdf4/image.png" alt=""></th>
</tr>
</thead>
<tbody><tr>
<td>&lt;&#39;Volcano&#39;, &#39;Coffee cup&#39; heatmap to SA, LRP&gt;</td>
</tr>
</tbody></table>
<br>

<table>
<thead>
<tr>
<th><img src="https://images.velog.io/images/k_shape/post/c7b82aa5-ac91-4be7-bee0-3ca500ecb579/image.png" alt=""></th>
</tr>
</thead>
<tbody><tr>
<td></td>
</tr>
<tr>
<td>✔️ SA Heatmap : 민감한 입력 변수를 보여주지만 해당 그림이 결과값에 어떻게 반영되었는지 알아보기는 어려움</td>
</tr>
<tr>
<td>✔️ LRP Heatmap : 화산의 경사면과 컵의 원 모형을 인지했음을 알 수 있음</td>
</tr>
<tr>
<td>✔️ Heatmap과 Perturbations 그래프를 참고 하였을때, LRP가 SA보다 이미지 식별 부분에서 더 나은 설명력을 제공</td>
</tr>
<tr>
<td>## Text Document Classifiation</td>
</tr>
<tr>
<td>- 실험 환경</td>
</tr>
<tr>
<td><img src="https://images.velog.io/images/k_shape/post/7df44aec-b82e-4006-839d-6be66bda3866/image.png" alt=""></td>
</tr>
</tbody></table>
<table>
<thead>
<tr>
<th><img src="https://images.velog.io/images/k_shape/post/2724b367-b6ed-4271-b628-88133ef70d6a/image.png" alt=""></th>
</tr>
</thead>
<tbody><tr>
<td>&lt;sci.med file heatmap to SA, LRP&gt;</td>
</tr>
</tbody></table>
<br>

<table>
<thead>
<tr>
<th><img src="https://images.velog.io/images/k_shape/post/dd47e755-703f-4db8-9617-912a79beabd1/image.png" alt=""></th>
</tr>
</thead>
<tbody><tr>
<td></td>
</tr>
</tbody></table>
<p>✔️ 두 방법 모두 &#39;body&#39;, &#39;discomfort&#39;, &#39;sickness&#39; 단어를 핵심 단어로 구별
✔️ SA Heatmap : 문서 분류에 긍정적 영향을 준 단어와 부정적 영향을 준 단어를 구별 불가능
✔️ LRP Heatmap : 문서 분류에 긍정적, 부정적 영향을 끼치는 단어 구별 가능
✔️ Heatmap과 Perturbations 그래프를 참고 하였을때, LRP가 SA보다 이미지 식별 부분에서 더 나은 설명력을 제공</p>
<h2 id="human-action-recognition-in-video">Human Action Recognition in Video</h2>
<ul>
<li>실험 환경
<img src="https://images.velog.io/images/k_shape/post/b42c69b6-c2a5-4a8f-8feb-7dfd709d3d75/image.png" alt=""></li>
</ul>
<table>
<thead>
<tr>
<th><img src="https://images.velog.io/images/k_shape/post/92ad68b9-a5cd-4950-926d-ece26020ee0e/image.png" alt=""></th>
</tr>
</thead>
<tbody><tr>
<td></td>
</tr>
<tr>
<td>✔️ LRP heatmap과 관련성 분포를 통해 비디오의 frame 내에서 관련 동작이 발생한 위치를 시각화하며 관련 동장이 발생하는 시점을 파악</td>
</tr>
</tbody></table>
<h1 id="conclusion">Conclusion</h1>
<ul>
<li>다양한 분야에서 AI model이 뛰어난 성능을 보여주고 있지만 &#39;Black box&#39; 특성으로 인해 몇몇의 분야에서는 활용이 제한</li>
<li>AI model에 설명력을 부여하는 XAI 기술의 필요성이 증가</li>
<li>설명 가능성은 AI model의 취약점과 편향된 data 발견, 효과적인 model 개선, 새로운 insight 제공, 법규 준수 근거 제공 등 효과 기대</li>
<li>2가지 XAI 제공 방법(SA, LRP)을 소개하고 해당 방법을 3가지 과제에 적용 실험한 결과를 제공</li>
<li>본 논문에서는 SA보다 LRP 방법이 더 좋은 설명력을 제공하였음을 제시</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[빅데이터 분석 기사 개요]]></title>
            <link>https://velog.io/@k_shape/%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EA%B8%B0%EC%82%AC</link>
            <guid>https://velog.io/@k_shape/%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EA%B8%B0%EC%82%AC</guid>
            <pubDate>Mon, 22 Feb 2021 02:56:28 GMT</pubDate>
            <description><![CDATA[<p>코로나의 여파로 인해 작년에 첫 시행되었어야하는 빅데이터분석기사(1회) 취소되었고 올해 4월에 (2회) 사실상 1회가 시행된다.</p>
<p>빅데이터 기술의 전반적 개념을 잡고 공부를 위한 목표로 삼기에 적합하다고 판단하여 이를 준비하려고 한다.</p>
<p>자격시험 접수와 자세한 사항은 <a href="https://www.dataq.or.kr/www/main.do">데이터자격검정센터</a>에서 확인 가능합니다.</p>
<h1 id="빅데이터-분석-기사-개요">빅데이터 분석 기사 개요</h1>
<h2 id="빅데이터-분석-기사-정의">&#39;빅데이터 분석 기사&#39; 정의</h2>
<p>빅데이터 이해를 기반으로 빅데이터 분석 기획, 빅데이터 수집·저장·처리, 빅데이터 분석 및 시각화를 수행하는 실무자</p>
<h2 id="빅데이터-분석-기사의-필요성">빅데이터 분석 기사의 필요성</h2>
<p>✔️전 세계적으로 빅데이터가 미래성장동력으로 인식, 각국 정부에서는 관련 기업투자를 끌어내는 등 국가·기업의 주요 전략분야로 부상
✔️국가와 기업의 경쟁력 확보를 위해 빅데이터 분석 전문가의 수요는 증가하고 있으나, 수요 대비 공급 부족으로 인력 확보에 어려움이 높은 실정
✔️이에 정부차원에서 빅데이터 분석 전문가 양성과 함께 체계적으로 역량을 검증할 수 있는 국가기술자격 수요가 높음</p>
<h2 id="빅데이터-분석-기사의-직무">빅데이터 분석 기사의 직무</h2>
<p>대용량의 데이터 집합으로부터 유용한 정보를 찾고 결과를 예측하기 위해 목적에 따라 분석기술과 방법론을 기반으로 정형/비정형 대용량 데이터를 구축, 탐색, 분석하고 시각화를 수행하는 업무 수행</p>
<h1 id="빅데이터-분석-기사-시험-내용">빅데이터 분석 기사 시험 내용</h1>
<p>시험 범위는 빅데이터 개념부터 수집, 분석, 모델링, 결과 해석 등의 데이터 활용의 전 영역을 포함하고 있어 매우 광범위 하다. </p>
<p>세부 항목은 해당 공식 사이트에서 확인 가능 하다. <a href="https://www.dataq.or.kr/www/sub/a_07.do">세부 항목</a></p>
<h2 id="필기">필기</h2>
<p>필기 : 객관식 80문제 120분 시험
아래의 각 과목 당 20문항씩 출제</p>
<p>합격 기준 : 타 자격증과 동일하게 전 과목 40점 이상(40점 미만시 과락), 전 과목 평군 60점 이상</p>
<pre><code>✔️빅데이터 분석 기획
✔️빅데이터 탐색
✔️빅데이터 모델링
✔️빅데이터 결과해석</code></pre><h2 id="실기">실기</h2>
<p>실기 : 통합형(필답형, 작업형) 180분 시험
문항 수와 과목별 비율 미공개</p>
<p>합격 기준 : 100점을 만점으로 60점 이상</p>
<pre><code>✔️빅데이터 분석 실무
✔️데이터 수집 작업
✔️데이터 전처리 작업
✔️데이터 모형 구축 작업
✔️데이터 모형 평가 작업</code></pre><h1 id="2021년도-자격검정-시행-공고">2021년도 자격검정 시행 공고</h1>
<h2 id="일정">일정</h2>
<h3 id="2회">2회</h3>
<p>필기시험 원서 접수 : 03. 02 ~ 03. 05
필기시험 : 04. 17(토)
필기시험 합격자 발표 05. 07
실기시험 원서 접수 : 05. 24 ~ 05. 28
실기시험 : 06. 19(토)
최종 합격자 발표 : 07. 16</p>
<h3 id="3회">3회</h3>
<p>필기시험 원서 접수 : 09. 06 ~ 09. 10
필기시험 : 10. 02(토)
필기시험 합격자 발표 10. 22
실기시험 원서 접수 : 11. 08 ~ 11. 12
실기시험 : 12. 04(토)
최종 합격자 발표 : 12. 31</p>
<h2 id="접수">접수</h2>
<p>데이터자격검정시스템<a href="www.dataq.or.kr">(www.dataq.or.kr)</a>을 통한 인터넷 접수</p>
<h2 id="시행-지역">시행 지역</h2>
<p>서울, 인천, 춘천, 대전, 대구, 광주, 부산, 울산, 제주</p>
<h2 id="수수료">수수료</h2>
<p>필기 17,800(원)
실기 40,800(원)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[velog 시작하기]]></title>
            <link>https://velog.io/@k_shape/velog-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@k_shape/velog-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0</guid>
            <pubDate>Tue, 19 Jan 2021 12:06:56 GMT</pubDate>
            <description><![CDATA[<hr>
<h1 id="velog-시작하면서">Velog 시작하면서</h1>
<p>새해에는 &#39;공부한 것을 기록할 겸, 나만의 Note로 사용할 Blog를 개설&#39;, &#39;digital portfolio 작성&#39; 목표를 달성하기 위해 블로그를 시작하였습니다.</p>
<p>먼저 블로그를 시작하기에 앞서 여러 blog platform(naver, tistory, git page 등)을 잠깐씩이나마 접해보면서 저에게 적합한 platform을 선정하였습니다. 
저는 그 중에서도 velog를 선택하였습니다. 그 이유는 아래와 같습니다. 
<del>세세하게 비교 하지 않았고 저의 개인적인 생각입니다 :)</del></p>
<blockquote>
<ol>
<li>공부 내용을 편하게 작성 가능 _ preview 제공</li>
<li>naver나 tistory보다 기술 blog에 중점을 두어 소스 코드 가독성 제공</li>
<li>git page의 theme 선택 장애와 customizing 능력 부족</li>
<li>최근 떠오르는 blog platform</li>
</ol>
</blockquote>
<p>이와 같은 이유로 velog에서 정보보안/AI/programming 기술 블로그를 시작해보려합니다. 처음으로 velog 포스팅 할때 사용되는 언어 Markdown에 대해 다뤄보겠습니다.</p>
<hr>
<h1 id="1-markdown">1. Markdown</h1>
<blockquote>
<ul>
<li>마크 다운(Markdown)은 마크업 언어의 일종</li>
</ul>
</blockquote>
<ul>
<li><p>존 그루버(John Gruber)와 아론 스워츠(Aaron Swartz)가 개발</p>
<ul>
<li>초기 이메일의 글쓰기 형식에서 영감을 받아 Python을 이용한 HTML 변환기에서 발전</li>
<li>markdown으로 작성한 문서를 HTML로 변환하는 perl script도 개발하였으며 확장자는 .md를 사용</li>
</ul>
</li>
<li><p><em>markdown은 text를 HTML로 변환하는 언어이자 도구*</em>
Markdown은 github README, jekyll blog, Velog 등 다양한 영역에서 활용 중이며 최근에는 WYSIWYG(What You See Is What You Get,문서 및 문서 작성 방법을 GUI로 구현한 것)에서도 Markdown을 지원하려는 추세입니다.</p>
</li>
</ul>
<p>Tistory, Naver 등 대중적인 blog 작성 방식(WYSIWYG)과 달리 직관적이지 않아 coding처럼 어렵게 다가올 수 있지만 Preview도 제공하며 문법이 간단하기 때문에 진입장벽이 낮습니다. 익숙해지시면 기존의 작성 방식보다 편하게 작업하는 자신을 발견하실겁니다. 😁</p>
<h2 id="12-markdown-장점">1.2 Markdown 장점</h2>
<blockquote>
<ol>
<li>문법이 간단하여 진입장벽이 낮음</li>
<li>Text로 저장 후 HTML로 변환 가능</li>
<li>Git을 통한 version 관리가 가능하고 용량이 적어 보관이 용이</li>
<li>Python Jupyter Notebook, R Markdown 등 다른 기술을 익히는데 있어 훌륭한 도구로 활용 가능</li>
</ol>
</blockquote>
<h2 id="13-markdown-단점">1.3 Markdown 단점</h2>
<blockquote>
<ol>
<li>표준이 없어 핵심 문법을 제외하고는 editor에 따라 다른 형식의 결과물</li>
</ol>
</blockquote>
<hr>
<h1 id="2-syntax">2. Syntax</h1>
<p>Markdown의 기존 문법과 Velog에서 제공하는 문법은 약간의 차이가 존재한다고 합니다. 아직까지 저는 Velog에서만 사용하여 Velog 기준으로 문법을 설명드리겠습니다.</p>
<h2 id="21-plaintext와-heading">2.1 Plaintext와 Heading</h2>
<p>일반적으로 아무 기호도 작성하지 않고 작성하면 현재 글과 같이 일반적인 text가 작성됩니다. 또한 제목을 작성하고 싶다면 아래와 같이 <code># 제목명</code> 을 입력하면 제목행이 작성됩니다. <code>#</code> 1개부터 6개까지의 모양을 제공하며 예시는 아래 그림과 같습니다. 제목은 블로그 우측에 목차 나열되어 필요한 내용을 찾아갈 수 있게 편의성을 제공합니다.</p>
<blockquote>
<p>입력 방식</p>
</blockquote>
<pre><code># Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6</code></pre><h1 id="heading-1">Heading 1</h1>
<h2 id="heading-2">Heading 2</h2>
<h3 id="heading-3">Heading 3</h3>
<h4 id="heading-4">Heading 4</h4>
<h5 id="heading-5">Heading 5</h5>
<h6 id="heading-6">Heading 6</h6>
<h2 id="22-수평선과-줄-바꿈">2.2 수평선과 줄 바꿈</h2>
<p><code>-</code>를 3개 입력하면 아래와 같이 실선이 추가되며 <code>&lt;br&gt;</code> 줄 바꿈 기능을 제공합니다. 아래 수평선 아래 <code>&lt;br&gt;</code>을 2줄을 입력한 모습입니다.</p>
<hr>
<br> 
<br>

<blockquote>
<p>입력 방식</p>
</blockquote>
<pre><code>--- 
&lt;br&gt;
&lt;br&gt;</code></pre><h2 id="23-글자-모양">2.3 글자 모양</h2>
<p>글자 혹은 문장을 강조하기 위한 방법으로 <em>Italic</em>, <strong>Blod</strong>, <strong><em>Blod Italic</em></strong> ,<del>Strikethrough</del>을 제공합니다. 각 각 순서대로 <code>*</code> 1, 2, 3개를 씌워주면 해당 영역에 포함된 글자에 효과가 적용됩니다. Strikethrough는 <code>~~</code>를 이용하여 표현 가능합니다.</p>
<blockquote>
<p>입력 방식</p>
</blockquote>
<pre><code>*Italic*
**blod**
***blod Italic***
~~Strikethrought~~</code></pre><h2 id="24-block-quote와-list">2.4 Block quote와 list</h2>
<p>Block quote의 본 기능은 본문에서 단락 또는 텍스트 블록으로 인용된 문서를 기입하는데 사용됩니다. 저는 시각적으로 구별하는 역할로 사용하고 있습니다.
<code>&gt;</code> + 내용으로 작성하며 <code>&gt;</code>의 갯수별로 level 적용되며 아래와 같이 작성됩니다.</p>
<blockquote>
<p>Quote1 
내용</p>
<blockquote>
<p>Quote2
내용</p>
<blockquote>
<p>Quote3
내용</p>
</blockquote>
</blockquote>
</blockquote>
<blockquote>
<p>입력 방식</p>
</blockquote>
<pre><code>&gt;&gt; Quote1
&gt;&gt;&gt; Quote2
&gt;&gt;&gt;&gt; Quote3</code></pre><p>list는 <code>*</code>,  <code>-</code>, <code>&#39;number&#39;.</code>를 활용하여 작성할 수 있습니다. 또한, <code>tab</code>키를 활용하여 level을 나눌 수 있습니다.</p>
<ul>
<li><p>list1</p>
</li>
<li><p>list2</p>
</li>
<li><p>list3</p>
</li>
<li><p>list1</p>
</li>
<li><p>list2</p>
</li>
<li><p>list3</p>
</li>
</ul>
<ol>
<li>list1<ol start="2">
<li>list2<ol start="3">
<li>list3</li>
</ol>
</li>
</ol>
</li>
</ol>
<blockquote>
<p>입력 방식</p>
</blockquote>
<pre><code> * list1
 * list2
 * list3 </code></pre><pre><code> - list1
 - list2
 - list3</code></pre><pre><code> 1. list1
     2. list2
         3. list3</code></pre><h2 id="25-image와-link">2.5 Image와 Link</h2>
<p>Image 삽입은 <code>![image descripion](주소)</code>을 작성해야하지만 쉬운 방법으로 작성하고 있는 창에 image file을 drag하면 자동으로 주소가 입력됩니다. Link는 <code>[description](주소)</code>를 통해 description을 클릭하면 해당 주소로 연결되게 할 수 있습니다.<br><img src="https://images.velog.io/images/k_shape/post/948940de-e49b-417f-8f9f-8cc8e396a2d7/velog_logo.png" alt="velog logo">
Link <a href="https://velog.io/@k_shape">K_shape blog</a></p>
<blockquote>
<p>입력 방식</p>
</blockquote>
<pre><code>click [K_shape blog](https://velog.io/@k_shape) 
![image description](주소)</code></pre><h2 id="26-table">2.6 Table</h2>
<p>Table 작성 <code>|</code>, <code>--</code>, <code>:</code>을 통해 손쉽게 작성 가능합니다. 아래의 입력 방식과 같이 <code>|</code>을 통해 영역을 나누고 두번째 행에 <code>--</code>을 추가하면 자동으로 Table의 모양으로 전환됩니다. <code>--</code>행에서 <code>:</code>을 추가하여 해당 column을 우측, 좌측, 가운데 정렬을 할 수 있습니다.
하지만 아쉽게도 간단한 표를 작성하는 기능을 제공하나 한 가지 표 형식(맨 위 행 : 제목, 그 외 셀)만을 제공하여 표현 방식에 한계가 있어 표를 만들어서 사진으로 삽입해야할 경우가 발생할거 같습니다.</p>
<table>
<thead>
<tr>
<th align="right">Header</th>
<th align="left">description</th>
<th align="center">other</th>
</tr>
</thead>
<tbody><tr>
<td align="right">cell</td>
<td align="left">cell</td>
<td align="center">cell</td>
</tr>
<tr>
<td align="right">cell</td>
<td align="left">cell</td>
<td align="center">cell</td>
</tr>
<tr>
<td align="right">cell</td>
<td align="left">cell</td>
<td align="center">cell</td>
</tr>
<tr>
<td align="right">cell</td>
<td align="left">cell</td>
<td align="center">cell</td>
</tr>
</tbody></table>
<blockquote>
<p>입력 방식</p>
</blockquote>
<pre><code>  |Header|description|other|
  |--:|:--|:--:|
  |cell|cell|cell|
  |cell|cell|cell|
  |cell|cell|cell|
  |cell|cell|cell|</code></pre><h2 id="27-code">2.7 Code</h2>
<p>문장 안에서 숫자 1키 좌측에 있는 <code>backtick</code>을 활용하여 code를 효과적으로 표현 가능합니다. 1개만 기입하였을 시 해당 문장 전체에 적용되며 특정 단어, 문장에만 적용하고 싶을 시 해당 영역을 <code>backtick</code>으로 감싸면 아래의 console 부분과 같이 폰트와 배경이 바뀌며 시각적 효과를 줄 수 있습니다. 해당 문단에 효과를 주기 위해서는 <code>backtick</code> 3개로 해당 문단을 감싸고 code를 표현할때는 문단 시작 <code>backtick</code>뒤에 언어 종류를 기입하면 해당 언어의 문법에 맞춰 highlight가 적용됩니다.</p>
<p>해당 기능을 시각적 효과를 주기 위해서도 사용 가능하며 특히, code를 입력하였을시 자동으로 highlight 효과가 적용되어 code 가독성을 높혀줍니다. 이렇게 간단한 방법으로 효과적이게 code를 삽입할 수 있어 naver, tistory를 선택하지 않고 velog를 선택하였습니다. :)</p>
<p><del><code>backtick</code>은 다른 특수 문자들과 달리 문장안에 기입이 안되서 설명이 매끄럽지 못한거 같습니다... 차라리 아래의 입력 방식을 참고해서 실습해보시면 이해하는데 편하실겁니다 ㅠ.ㅠ</del></p>
<p>console.log(&#39;your message&#39;)
<code>console.log(&#39;your message&#39;)</code></p>
<pre><code class="language-java">public class HelloWorld {
    public void main(String[] args) {
        //hello world
        System.out.println(&quot;Hello World&quot;);
    }
}</code></pre>
<pre><code class="language-python">print(&#39;hello world&#39;)</code></pre>
<blockquote>
<p>입력 방식
<img src="https://images.velog.io/images/k_shape/post/cd45184f-6ebd-4163-85b2-6dfd83ec160d/code.PNG" alt="code"></p>
</blockquote>
<h2 id="28-emoji">2.8 Emoji</h2>
<p>Emoji를 입력하는 방법은 <a href="http://www.iemoji.com/">http://www.iemoji.com/</a>에서 원하는 이모지 클릭 copy 원하는 위치에 붙여넣기 하시면 이렇게 🐾 원하는 이모지를 삽입할 수 있습니다. 필수 문법은 아니지만 글 작성에 더 생기를 더할 수 있습니다 :)</p>
<hr>
<h1 id="3-마치며">3. 마치며</h1>
<p>먼저, markdown에 대해 설명하는 글을 작성하였으나 저의 설명이 미흡하여 쉬운 markdown이 어렵게 느껴지지 않았으면하는 바램입니다. 직접 실습해보시면 금방 익숙해지고 다른 방식으로 각 기능을 활용하여 더 효과적으로 표현하실 수도 있습니다.</p>
<p>velog에서 첫 게시글을 작성하며 복잡하고 어려운 내용이 아니었음에도 포스팅하는데 많은 시간을 투자하였습니다. 대학원에 진학하고 본인의 생각을 효과적으로 표현하는 기술 또한 핵심 역량 중 하나라는 것을 느꼈으며 blog 운영, 세미나 발표 등을 통해 이러한 soft skill 역량을 키워나가려고 합니다. 그리고 velog로 그 첫 걸음을 떼려 합니다. Security/AI/coding을 주제로 1주일에 1포스팅이 목표입니다. </p>
<p>틀렸거나 부족한 부분은 댓글이나 이메일로 보내주시면 감사하겠습니다.</p>
]]></description>
        </item>
    </channel>
</rss>