« Previous : 1 : ... 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : ... 38 : Next »

인공지능(AI)의 역사

 
인공지능(AI, 기계학습) 공부에 도움될 사전 지식 및 사이트 포스트에 이어서
인공지능(Artificial Intelligence)의 역사에 대해 알아볼까 합니다. 
인공지능의 개념은 언제, 어디서부터 시작되어
오늘날 이렇게 각광 받고 있는지 함께 알아보도록 하겠습니다!
 
 
000
2008년 4월 존 파브로 감독의 아이언맨(Iron Man)이라는 영화가 개봉했습니다. 

 
영화 속 주인공인 토니 스타크가 아이언맨 슈트를 착용하면 헬멧 속 UHD를 통해 인공지능 비서인 자비스(J.A.R.V.I.S, Just A Rather Very Intelligent System)가 눈으로 보이는 시각 데이터 분석부터 다양한 전문적인 지식을 빠르게 분석하고 알려줍니다.

아래는 아이언맨 1의 한 장면으로 화면에서 보이는 여러 사람 중에서 일반 시민과 인질범을 구분하여 타겟팅하고 타겟이 된 인질범들에게만 미사일이 발사됩니다.
 
 
000
영화에서 인공지능을 통해 사람을 구분하는 기술이 이제는 현실에서도 이루어지고 있습니다.
실시간 안면인식 기술을 통해 영상에 찍힌 사람 중에서 높은 정확도로 특정한 사람의 얼굴을 인식하여 찾아내고 있습니다. 슈퍼컴퓨터급의 인공지능 기술이 발전하면서 사진을 넘어 동영상 속 수십 명의 얼굴을 실시간으로 인식, 분석, 대조하는 것이 가능해졌기 때문입니다.
 
이제는 영화 속에서가 아니라 현실에서도 볼 수 있는, 또한 차세대 트렌드로 4차 산업혁명을 이끄는 인공지능(AI)의 시작에 대한 역사를 알아보고자 합니다.
 
인공지능(Artificial Intelligence) vs 머신러닝(Machine Learning) vs 딥러닝(Deep Learning)
[출처] 전자신문

인공지능이 우리에게 확 다가온 계기가 있었습니다. 바로 2016년 알파고와 이세돌 9단의 바둑 대국이었죠. 당연히 인간이 승리하리라 생각했던 예상과는 다르게 알파고가 이세돌 9단을 4:1이라는 압도적인 스코어로 승리하면서 인공지능에 대한 전 세계적인 관심이 쏟아졌고, 그 이후로 알파고 뿐만 아니라 인공지능 산업이 빠른 속도로 성장하고 있습니다.

인공지능 산업의 성장으로 “AI와 딥 러닝을 활용한 저해상도 의료영상을 고해상도로 변환”이나 “국내 최초 강화학습 AI 알고리즘을 적용한 머신러닝 적용” 등과 같은 기사들을 많이 볼 수 있습니다. 이러한 기사들에서 인공지능이라는 용어와 함께 사용되는 딥 러닝, 머신러닝은 무엇일까요? 인공지능의 역사를 알아보기에 앞서 간략하게 인공지능, 머신러닝, 딥 러닝에 대한 개념을 한 번 알아보겠습니다.



[출처] 투비소프트 칼럼

인공지능의 정의는 ‘사고나 학습 등 인간이 가진 지적 능력을 컴퓨터를 통해 구현하는 기술’로서 개념적인 정의에 가깝습니다. 1950년대 인공지능을 연구하던 학자들이 인간의 지능과 유사한 특성을 가진 복잡한 컴퓨터 제작을 목표로 함께 연구를 시작했고, 이때 인공지능이라는 개념이 등장했습니다.

이러한 인공지능을 구현하기 위한 구체적인 접근 방식이 바로 머신러닝인 거죠. 머신러닝의 정의는 말 그대로 ‘컴퓨터가 스스로 학습하여 인공지능의 성능을 향상하는 기술 방법’을 의미합니다. 여기서 중요한 단어가 ‘스스로 학습’입니다. 프로그래머가 구체적으로 로직을 직접 코딩하는 것이 아닌, 빅데이터와 알고리즘을 통해 컴퓨터에 ‘학습’을 시켜 원하는 결괏값을 도출해내는 것이죠.

딥러닝이란 머신러닝의 한 분야로 인공신경망(Artificial Neural Network) 방식으로 정보를 처리하는 기술을 의미합니다. 최근 인공지능 붐을 일으킨 분야로 완전한 머신러닝을 실현하는 기술이라고 볼 수 있습니다.

요약하자면 그림에서 표시된 것과 같이 인공지능이 가장 큰 범주이고, 그다음으로 머신러닝, 가장 세부적인 부분이 현재의 인공지능 붐을 주도하고 있는 딥 러닝입니다. 이 세 단어의 관계를 정의하자면 다음과 같습니다.

-> 인공지능 ⊃ 머신러닝(기계 학습) ⊃ 딥 러닝(심층 학습)


인공지능의 역사000
초기 인공지능에 대한 연구는 인공지능이라는 개념이 없는 이론적인 분야였기에 다양한 분야의 수많은 학자가 연구했습니다. 일례로 인공지능이라는 용어는 1956년에 처음 등장하였지만, 현재 인공지능의 세부적인 부분으로 분류되는 딥 러닝의 기원이 되는 인공신경망에 대한 기초이론은 1943년도에 논문으로 발표되었습니다. 수많은 시행착오를 거치면서 인공지능이라는 학문의 분야가 생겨났고, 긴 시간 동안 정립된 이론과 기술들이 정리되어 현재의 인공지능 분야를 이루게 되었습니다. 본 글에서는 인간 두뇌의 뉴런 작용을 처음으로 논리적 모델로 설명한 1943년부터 시작됩니다.

 
1943, 딥러닝의 기원을 열다, 워런 맥컬럭 & 월터 피츠

1943년 논리학자인 월터 피츠(Walter Pitts)와 신경외과의 워렌 맥컬럭 (Warren Mc Cullonch)은 ‘A Logical Calculus of Ideas Immanent in Nervous Activity’ 논문을 발표합니다.
 
이 논문에서 뉴런의 작용을 0과 1로 이루어지는 2진법 논리 모델로 설명했고 이는 인간 두뇌에 관한 최초의 논리적 모델이었습니다. 이렇게 현재 인공지능의 트렌드를 이끌고 있는 딥 러닝에 대한 연구가 시작되었습니다.

 
1943, 딥러닝의 기원을 열다, 워런 맥컬럭 & 월터 피츠


[출처] 인공지능 그리고 머신러닝의 모든것, 고지식-거니

1950년 영국 수학자 앨런 튜링(Alan Mathison Turing)은 ‘계산 기계와 지능(Computing Machinery and Intelligence)’라는 논문을 발표합니다. 이 논문에서 앨런 튜링은 기계가 생각할 수 있는지 테스트하는 방법과 지능적 기계의 개발 가능성, 학습하는 기계 등에 관해 기술하였습니다. 이 기술을 현실화한 튜링머신은 존 폰 노이만 교수에게 직접 또는 간접적인 영향을 주어 현대 컴퓨터 구조의 표준이 되었습니다.

이후 1956년 인공지능이라는 용어가 처음으로 등장하였습니다. 1956년 미국 다트머스 대학에 있던 존 매카시(John McCarthy) 교수가 ‘다트머스 AI 컨퍼런스’를 개최하면서 초청장 문구에 ‘AI’라는 용어를 처음으로 사용했습니다.

We propose that a 2 month, 10 man study of artificial intelligence be carried out during the summer of 1956 at Dartmouth College in Hanover, New Hampshire. 
(1956년 여름 뉴 햄프셔 하노버에 있는 다트머스대에서 두 달 동안 10명의 과학자가 모여 인공지능을 연구할 것을 제안합니다)

 
이 AI 컨퍼런스에서 모인 10여 명의 과학자들은 앨런 튜링의 ‘생각하는 기계’를 구체화하고 논리와 형식을 갖춘 시스템으로 이행시키는 방안을 논의했습니다.


1950, Perceptron의 등장


1950년대의 인공지능 연구는 크게 두 가지 분야로 구분되었습니다.  바로 '기호주의'와 '연결주의'인데요, 기호주의(Symbolism)은 인간의 지능과 지식을 기호화해 매뉴얼화하는 접근법이었고, 연결주의(Connectionism)는 1943년 월터 피츠와 워런 맥컬럭이 연구한 뇌 신경 네트워크의 재현을 목표로 하는 접근법이었습니다. 각 장단점이 있었으나 1950년대에 현실적으로 실현 가능한 기호주의 분야가 사람들의 관심을 더 받고 있었습니다.

1958년 기호주의로 독주하고 있던 마빈 민스키(Marvin Lee Minsky)에게 도전장을 내민이가 있었으니, 바로 퍼셉트론(Perceptron)을 고안한 마빈 민스키의 1년 후배인 프랭클린 로젠 블랫(Frank Rosenblatt)입니다. 퍼셉트론은 인공신경망(딥러닝)의 기본이 되는 알고리즘으로 월터 피츠와 워런 맥컬럭의 뇌 모델과 1949년에 발표된 도널드 헵(Donald Hebb)의 ‘헵의 학습이론’에 힌트를 얻어 가중치를 추가한 업그레이드 버전이었죠. 이렇게 세상 밖으로 나온 퍼셉트론은 사람들의 사진을 대상으로 남자와 여자를 구별해내고 뉴욕 타임즈에 실리게 됩니다. 인공지능 연구의 트렌드가 기호주의에서 연결주의로 넘어오게 되는 계기가 되었죠.

[출처] 인공지능 탄생의 뒷이야기, 야만ooo

1969, AI의 1차 겨울 : XOR 문제 등판

 

로젠 블랫의 퍼셉트론에 모든 관심이 집중되자 기호주의의 마빈 민스키는 제자 시모어 페퍼트(Seymour Papert)와 퍼셉트론의 한계를 수학적으로 증명하면서 로젠 블랫의 퍼셉트론이 무너지고 2년 뒤인 1971년 로젠 블랫이 사망하면서 인공지능의 빙하기가 도래하게 됩니다.

로젠 블랫의 퍼셉트론으로 AND, OR, NAND 같은 선형문제는 풀 수 있지만, XOR 같은 비선형 문제는 해결할 수 없었고, 대부분 데이터는 선형보다 비선형 형식으로 데이터가 분포되어 있었습니다. 이러한 문제로 퍼셉트론을 기반으로 한 수많은 인공지능 연구가 끊기게 되고 다시 마빈 민스키의 기호주의 학문으로 관심이 집중되었으나, 기호주의도 한계에 도달하면서 인공지능은 세간의 관심에서 점점 멀어져 갔습니다.

1986, AI의 부활 : 딥 러닝의 아버지 제프리 힌튼

[출처] Neural Network, Sliude Share

인공지능에 대한 관심은 줄어들었지만, 묵묵히 연구를 지속해오던 연구자들도 있었습니다. 1986년 인공지능의 첫 번째 빙하기를 깨고 인공지능의 부활을 알린 사람이 있었으니 바로 딥 러닝의 아버지라 불리는 제프리 힌튼(Geoffrey Everest Hinton)입니다. 제프리 힌튼 교수는 다층 퍼셉트론(Multi-Layer Perceptrons, MLP)과 Back-propagation Algorithm을 실험적으로 증명하였고 이를 통해 XOR 문제를 해결하였습니다.

사실 제프리 힌튼이 다층 퍼셉트론와 Back-propagation Algorithm을 고안해낸 것은 아니었습니다. 1969년 위치 호(Yu-Chi Ho)와 브라이손(Arthur E. Bryson)에 의해 Back-propagation Algorithm이 고안되었으며, 1974년 하버드대의 폴 워보스(Paul Werbos)는 다층 퍼셉트론 환경에서 학습을 가능하게 하는 Back-propagation Algorithm으로 박사학위 논문을 썼으나 인공지능 분야의 침체한 분위기 속에 8년 후 1982년에 논문을 발표하였습니다. 이것이 1984년 얀 르쿤(Yann LeCun)에 의해 다시 세상 밖으로 나왔고, 1986년 데이빗 럼멜하트(David Rumelhart)와 제프리 힌튼에 의해 세상에 알려지게 되었습니다.

1990년대 후반, AI 2차 겨울 : MLP의 문제점
제프리 힌튼의 다층 퍼셉트론과 Back-propagation Algorithm을 계기로 1990년대 초반까지 인공지능 연구에 큰 발전을 이루었습니다. 그러나 1990년대 다층 퍼셉트론에서도 한계가 보이기 시작하면서 인공지능 연구의 두 번째 빙하기를 맞이하게 됩니다.

두 번째 문제는 Vanishing Gradient와 Overfitting 이었습니다. 다층 신경망의 은닉층(Hidden layer)을 늘려야 복잡한 문제가 해결 가능한데 신경망의 깊이가 깊어질수록 오히려 기울기(gradient)가 사라져 학습이 되지 않는 문제인 Vanishing Gradient가 발생했습니다. 또한, 신경망이 깊어질수록 너무 정교한 패턴을 감지하게 되어 훈련 데이터 외 새로운 데이터에 대해서는 정확성이 떨어지는 Overfitting 문제가 발생했던 거죠.

2006, 제프리 힌튼의 심폐소생술 : 딥 러닝 용어의 등장

000

모두가 인공신경망을 외면하던 암흑기 시절에도 제프리 힌튼은 꿋꿋하게 인공신경망을 연구해왔습니다. 제프리 힌튼은 “A fast learning algorithm for deep belief nets” 논문을 통해 가중치(weight)의 초깃값을 제대로 설정한다면 깊은 신경망을 통한 학습이 가능하다는 것을 밝혀냈습니다.

기존 인공신경망과 크게 달라진 점은 없었지만, 인공지능의 두 번째 겨울을 거치면서 인공신경망이라는 단어가 들어간 논문은 제목만 보고 거절당하거나 사람들의 관심을 끌지 못해 deep을 붙인 DNN(Deep Neural Network)이라는 용어를 사용하면서 본격적으로 딥 러닝(Deep Learning) 용어가 사용되기 시작했습니다.

2012, ImageNet : ILSVRC
ImageNet는 2009년 페이페이 리(Fei-Fei Li)가 만든 방대한 이미지의 데이터베이스입니다. 인공지능을 학습시키기 위해서는 수천, 수만 번의 반복 학습이 필요한데 이때 알고리즘 뿐만 아니라 학습량도 매우 중요하다고 생각했죠. 이를 계기로 ImageNet이라는 방대한 이미지 데이터베이스를 구축하게 되었고, 2010년부터 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)라는 이미지 인식(image recognition) 경진대회도 진행하였습니다.

ILSVRC는 주어진 대용량의 이미지 셋을 데이터로 이미지 인식 알고리즘의 정확도, 속도 등의 성능을 평가하는 대회입니다. 2010년, 2011년까지는 얕은 구조(shallow architecture)를 가진 알고리즘이 우승하였으나, 약 26% 정도의 오류율을 보여 왔습니다. 오류율이 0.1%라도 낮아진다면 우승이라는 말이 있었을 만큼 얕은 구조 기반의 알고리즘으로는 오류율을 낮추는 것이 매우 힘든 일이었죠.

000
그러나 2012년, 깊은 구조(deep architecture) 제프리 힌튼 팀의 AlexNet이 약 26%였던 오류율을 16%로 낮추는 압도적인 정확도로 우승을 차지하면서 딥 러닝은 부흥기를 맞게 됩니다.
 
이후 등장하는 알고리즘들은 모두 깊은 구조 기반의 딥 러닝 알고리즘이었으며, 2015년에는 사람의 정확도라고 알려진 5% 대의 오류율을 거뜬히 넘겨버렸습니다. 이제 사람보다 기계가 이미지를 더 잘 구별하게 된 것입니다.

마무리000
인공지능은 우리가 생각했던 것보다 더 오랜 시간 많은 연구자를 통해 꾸준히 연구됐고, 딥 러닝 기술이 고안되어 세상의 관심과 빛을 보고 있습니다. 네트워크 및 하드웨어의 발달을 바탕으로 최근 인공지능 분야는 처리 능력과 연산 효율성을 크게 개선하였습니다. 이러한 컴퓨팅 파워 및 클라우드, 빅데이터와 혁신적으로 발전하고 있는 알고리즘들이 융합되면서 이미지나 영상 내 개체 식별, 자연어 처리, 음성 처리 등 현재는 딥 러닝이 사용되지 않는 분야가 없을 정도로 여러 분야에서 활용되고 있으며, 필수 학문으로 자리 잡고 있습니다.
IBM은 근 미래인 2025년 인공지능 산업이 2,000조 원에 이르는 시장을 창출할 것으로 내다보고 있으며, 맥킨지는 인공지능으로 인해 7,000조 원에 이르는 파급 효과가 창출될 것으로 전망하고 있습니다. 물론 딥 러닝이 모든 분야에서 만능은 아닐 것입니다. 다만 수많은 벽에 부딪히면서도 앞으로 나아갔던 과거처럼 지금도 수많은 연구자, 기업이 다양한 방법으로 새로운 기술을 개발하고 있으며, 인공지능 산업 또한 매우 빠르게 성장하고 있습니다. 언제라고 장담할 수는 없겠지만, 영화 속에서만 볼 수 있었던 아이디어들이 언젠가는 현실 세계에서 먼저 나타나지 않을까 생각해 봅니다.
 
참고문헌
작성자 BS실 강전모 주임

Posted by 人Co

2020/03/10 14:16 2020/03/10 14:16
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/340


 
2012년부터 시작된 ㈜인실리코젠의 人CoINTERNSHIP은
바이오 연구개발과 조직생활의 기초 개념을 이해할 수 있도록 진행하였습니다.
많은 분들의 관심과 참여를 통해 벌써 10번째 기수를 수료하였습니다!


 
총 6명의 참가자가 6주동안 진행된 제10기 人CoINTERNSHIP!
참가자들의 스토리를 함께 보겠습니다.



사용자 삽입 이미지
김상현 (
Umeå University)
6주간의 인턴십을 하면서 예상보다 훨씬 더 많은 부분을 얻고 가서 뿌듯했고 잘 챙겨주신 임직원분들에게 감사했습니다. 먼저, 人Co 인턴십은 생물정보학 개론 정도의 수준 높은 교육 인프라를 가졌습니다. 석사 논문 프로젝트를 수행하면서 독학으로 Bioinformatics를 이해하다 보니 궁금한 점이 매우 많았었는데, 인턴십을 통해 그 점들을 해소할 수 있었습니다. 특히 매주 각 부서가 교육을 담당했기 때문에, 기대되었고 신기했습니다. 다양한 부서에서 인턴십 프로그램을 진행하다 보니 인턴십을 마치고 나서는 많은 직원과 친분을 맺을 수 있었습니다. 다음으로는, 인턴십을 통해 회사 생활 (사회생활)을 제대로 경험한 것 같습니다. 저번과 달리 이번 기수는 각 인턴의 자리가 사무실에 마련되어 있어 업무가 어떻게 흘러가는지 자연스럽게 알 수 있던 것 같습니다. 정말 사원이 된 기분이었습니다. 또한, 제 개인적으로는 한국적인 사회생활을 한 지가 매우 오랜만이고 특히 사기업은 처음입니다. 그래서 전해만 들었던 회사 내에서의 생활을 몸소 겪을 수 있었고 직원분들이 정말 잘 대해주셔서 좋은 인상을 많이 받았습니다. 특히 동료애가 끈끈한 한국 문화를 새삼 소중히 여겼습니다. 인코 임직원분들과 앞으로도 지속적인 관계를 이어나갈 예정입니다.
 
 
사용자 삽입 이미지
김정환 (순천향대학교)

인실리코젠, 인턴분들과 함께한 8주간의 인턴십을 마무리했습니다. 어색하던 분위기가 이제는 장난도 치고 여유 있는 모습이 된 것 같습니다. 처음 이번 인턴십을 준비하면서 자기소개서를 작성하고 포트폴리오를 만들어 발표를 하던 게 엊그제 같은데 벌써 시간이 이렇게 흘러 수료를 하게 되었습니다. 사실 이번 인턴십을 지원하기 전에 생물정보학에 대해서도 아는 게 없고, 컴퓨터 분야도 몰랐었기 때문에 지원하는 것부터가 저한테는 도전이었습니다. 그렇게 망설이던 도중 평소에 생명과학을 공부하면서도 컴퓨터 분야에 대해 막연하게 관심이 있었던 사소한 계기로 생물정보학을 다루는 인실리코젠 인턴십에 지원해 배워보고 싶다는 생각을 하였고, 일정을 진행하다 보면 어떻게 해야 할지 알 수 있을 것 같았습니다. 인턴십을 진행하며 생물정보학뿐만 아니라 파이썬, R과 같은 프로그래밍 언어를 배워 직접 실습하는 것이 흥미로웠고 인공지능에 대해 배울 기회가 있었는데 이것도 좋은 경험이었습니다. 또한, D.iF에서 진행했던 사업 아이디어를 린캔버스에 작성해 발표하고 피드백을 받는 것, 사업이 어떻게 진행되고 개발/연구가 어떻게 되는지에 대한 개요들 모든 것을 배울 수 있게 해준 인턴십에 정말 해보길 잘했다는 생각이 듭니다. 인턴십 면접 때 회사의 분위기가 어떠냐는 질문에 저는 정말 따듯한 느낌을 받았었다고 대답했었는데 정말로 회사의 모든 분이 친절하게 대해주시고 사장님도 사원들과의 소통 또한 아끼시지 않으며 여러 추천 독서들로 마음의 양식까지 담을 수 있었습니다. 이렇게 좋은 사람들과 좋은 프로그램으로 저를 앞으로 한 발짝 내딛게 해준 인실리코젠에 감사하며, 8주간 고생 많으셨습니다!


사용자 삽입 이미지
윤서연 (고려대학교)

6주간의 인코 인턴십은 생물정보 분야에 대해 전반적으로 이해할 수 있게 된 좋은 경험이었습니다. 처음 인턴십을 신청할 때는 막연하게 bioinformatics에서 어떤 일을 하는지 알아가는 정도이지 않을까 했는데, 매주 구체적인 커리큘럼이 있고 실습이 적절하게 섞여 있어서 생생하게 체험할 수 있었던 것 같습니다. 대학원에서 석사 과정을 수학하면서도 논문에 나와 있는 NGS 분석 데이터에 대해 막연하게만 이해하는 정도에만 그쳤었습니다. 하지만 교육을 받고 나니 유용하게 사용할 수 있는 프로그램이 무엇이 있는지 배우고 사용법을 익혀 연구자로서도 많이 성장할 기회였습니다. 무엇보다 가장 재미있었던 것은 최근 인실리코젠에서 관심이 있는 딥러닝이었습니다. 사내 스터디에 참여하여 딥러닝이 무엇이고 어떻게 작용하는지 알게 되었고, 공식을 뜯어서 하나하나 이해하면서 생소했던 분야에 한 걸음 더 다가갈 수 있게 되었습니다. 바쁜 시간 내주시어 친절하게 질문에 하나하나 설명해주셨던 멘토님과 적응하는 데 도움을 주신 회사 직원분들께 감사드립니다.

 
박주영 (숭실대학교)
사용자 삽입 이미지

제 10기 인코인턴십 박주영 진로의 구체화에 놓인 저에게 다양한 분야의 생명정보를 알려준 인턴십 프로그램은 정말 저의 진로 길라잡이 같은 프로그램이었습니다. 생명정보 소프트웨어 실습을 담당한 InsilicoLab, 리눅스와 파이썬 교육을 담당한 DSC, 데이터 모델링과 사업 프로세스에 대한 교육을 맡은 BS, NGS 데이터를 얻고 R을 이용해 분석하는 법을 가르쳐주신 RDC, 마지막으로 인실리코젠의 자회사로 데이터베이스와 lean canvas에 관한 교육을 맡은 D.iF 까지 매주 교육을 통해 조금이나마 경험을 하고 그 경험하는 과정에서 내가 어디에 흥미를 느끼는지, 일찍이 포기해야 할 것 같은 분야는 무엇인지에 대해 알 수 있었습니다. 또 人CoDOM을 쓰면서 기존에 알고 있던 지식을 어떻게 연결하여 글을 작성해 나가야 할지 고민하는 것이 힘들긴 하였지만 다 쓰고 난 후에는 다른 사람들이 내 글을 보고 무언가를 배울 수 있다는 뿌듯함을 느낄 수 있었습니다. 생명정보 이외에도 정말 좋은 선배님들, 동기들을 만나 많은 것을 배우고 각종 독서 프로그램을 하는 과정에서 내면으로도 성장한 6주였습니다.

 
박주희 (대진대학교)
사용자 삽입 이미지

인코인턴십 면접 합격 소식을 듣고 인실리코젠 블로그에서 후기를 찾아봤던 게 엊그제 같은데 벌써 제가 후기를 쓰고 있다는 게 신기합니다. 6주 인턴십을 하는 동안 시간이 빠르게 흘러갔지만 정말 뿌듯했던 시간이었습니다. 먼저 첫주에는 OJT 공통교육을 하면서 IX팀과 경영지원팀을 경험할 수 있었고 두 번째 세 번째 주에는 AI, 생물정보 분석 소프트웨어, 리눅스, 파이썬 등을 공부하며 DSC팀을 알 수 있었습니다. 넷째 주에는 소프트웨어 개발 프로세스를 배우고 Lean Canvas, 그래프 데이터베이스를 실습하며 인실리코젠의 자회사인 D.iF에 대하여 알고 사업에 대하여도 생각해 볼 수 있었습니다. 다섯째 주에는 AXURE, gliffy를 실습하고 데이터 모델링, 시스템 구축 대가 산정들을 공부하면서 BS 부서에서 하는 SI 사업을 이해 할 수 있었고 마지막 주에는 R을 실습하고 논문을 공부하면서 NGS 데이터를 분석하는 RDC 부서를 경험하였습니다. 이렇게 1주씩 다양한 분야를 경험하였고 이를 통해서 관심이 있는 생물정보학 내에서 저의 흥미나 장단점에 맞는 분야를 생각해 볼 수 있어서 좋았습니다. 이외에도 월요세미나, 독서경영, 인코덤 작성 등을 통해서 회사 업무 이외에도 다양한 인사이트를 얻을 수 있었고 따로 딥러닝 스터디도 해보면서 딥러닝에 대해서, 또 가르치고 배우는 것에 대해서 잘 알 수 있었습니다. 또한, 6주간의 과정에서 사람의 중요성에 대해서도 생각해 볼 수 있었습니다. 먼저 다양한 분야와 학위의 사람들을 모아 인턴십을 꾸려 주셔서 인턴들 사이에서도 많이 배울 수 있었고 멘토 멘티 활동이나 다양한 활동들을 통해서 인실리코젠의 사람을 중심(Core)으로, 사람과 컴퓨터(Computer)에 의해, 배려(Consideration)와 소통(Communication)을 통한 새로운 문화를 창조하려 한다. 라는 가치 체계를 다시 생각해 볼 수 있었습니다. 6주간의 짧지만 빡빡한 일정으로 생물정보학의 전반적인 부분과 사회생활에 대해서 잘 알 수 있었고 탄탄하게 짜인 구성이라서 몸만 맡기고 열심히 노력하면 배우고 느낄 수 있는 게 너무 많았던 것 같습니다. 인턴십을 진행하기 전에는 생물정보학 분야로 진출하는 데에서 학교에서는 아는 사람도 없고 막막하기만 했는데 인턴십이라는 좋은 기회로 인해서 여쭤볼 수 있는 다양한 사람을 만날 수 있어서 좋았고 제 목표를 구체화할 수 있었던 정말 좋은 경험이었던 것 같습니다. 다들 하나라도 더 가르쳐 주시려고 하시고 챙겨주셔서 정말 감사했습니다!


허유진 (차의과학대학교)
사용자 삽입 이미지

인턴을 처음 시작했을 때에 막연하게만 생각했던 것들이 6주간의 시간을 거치며 많이 채워진 것 같습니다. 짧은 시간 내에 많은 내용을 다루다 보니 심도 있게 또는 바로 응용해서 사용할 수 있을 정도로 배울 수는 없었지만, 여태까지 접해보지 못했었던 다양한 프로그램과 분석 툴을 직접 사용해볼 수 있었습니다. 매주 다른 부서를 접해보며 생물정보에 어떤 다양한 분야가 있으며 어떤 것이 저에게 적합한지에 대해 알 수 있었습니다. 모든 직원분과 멘토분들께서 친절하게 대해주셨으며, 회사의 복지 자체도 정말 잘 이루어져 있다고 느껴졌습니다. 인턴십 프로그램을 참여하며 좋은 사람들을 만나 많은 것을 배울 수 있었고, 한층 더 성장할 기회가 되었던 것 같습니다. 매일 새벽에 일어나 먼 거리에서 출근해서 조금 힘들었지만, 평생 후회하지 않을 좋은 경험을 마무리한 것 같습니다. 인턴십 프로그램을 제공해주시고 교육을 위해 시간을 내주신 모든 직원분께 정말 감사드립니다!!

 

8주간을 돌아보며


인코인들과의 첫 만남,
자신의 좋아하는 것과 어떤 분야에 관심이 있는지 발표
 중 한 장면
- 2020년 01월 13일 월요세미나 중


어리석은 사람은 인연을 만나도 몰라보고,
보통 사람은 인연인 줄 알면서도 놓치고,
현명한 사람은 옷깃만 스쳐도 인연을 살려낸다.
- 피천득

 

6주간 동고동락한 멘토와 함께 촬영!
수료한 모든 분들 축하드리며, 항상 응원하겠습니다.
- 2020년 02월 14일 수료식 중
 

10기 수료생분들이 준비해준 작은 정성이 담긴 선물

작성 : 人CoINTERNSHIP 제10기 수료생
김상현, 김정환, 윤서연, 박주영, 박주희, 허유진

Posted by 人Co

2020/03/02 09:00 2020/03/02 09:00
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/339

신종 코로나 바이러스 (COVID-19)




요즈음 전 세계적으로 가장 이슈가 되고 있는 것은 '신종 코로나 바이러스'라고 할 수 있겠습니다. 우리는 '코로나 바이러스' 보다는 사스(SARS) 또는 메르스(MERS)가 좀 더 익숙할 텐데요, 이전에 유행했던 사스와 메르스도 코로나 바이러스로 인해 발생한 질환입니다.

코로나 바이러스는 종이 다양하며, 인간에게는 가벼운 증상만을 일으키고 병원성이 약한 것으로 알려졌는데요. 이번에 발생한, 흔히 말하는 우한 폐렴은 코로나 바이러스가 변이를 일으킨 신종 코로나 바이러스로 인간에게 매우 심각한 영향을 미치고 있습니다.

우한 폐렴은 무엇인가


이번에 발생한 우한 폐렴은 중국 우한시 화난 해산물 시장에서 처음 발생한 폐렴으로 그 전염성이 매우 강합니다. 원인체로 지목된 것은 신종 코로나 바이러스로 코로나 바이러스가 변이를 일으킨 것입니다. 우한시 화난 해산물 시장에서는 각종 다양한 야생동물들을 판매하고 거래가 되었는데, 이 야생동물을 숙주로 지내던 코로나 바이러스가 변이를 일으켜 인간에게 전파되었을 가능성이 가장 크다고 추정하고 있습니다. 현재까지 알려진 바로는 2015년도 유행했던 메르스보다는 치사율이 낮지만, 전파력은 매우 크다고 알려져 있고, 우리나라를 비롯하여 전 세계적으로 확진자가 계속해서 늘어나는 추세입니다. 신종 코로나 바이러스는 잠복기가 14일 정도로 다른 바이러스들에 비해 길며, 잠복기에도 강한 전파력을 가지고 있어 그 심각성이 더 커지고 있습니다.

코로나 바이러스는 무엇인가

코로나 바이러스(Coronavirus)는 코로나바이러스 과에 속하는 바이러스들을 지칭합니다. 전자현미경으로 보면 바이러스 표면이 돌기처럼 튀어나와 있는 것을 볼 수 있는데, 이것이 왕관처럼 생겼다고 해서 라틴어로 왕관을 뜻하는 'Corona'에서 파생되어 명명되었습니다.


[출처] "크리스천투데이", 2020년 1월 28일 발행, 2020년 2월 14일 접속, https://www.christiantoday.co.kr/news/328396

코로나 바이러스는 총 7종(HCoV 229E, HCoV NL63, HCoV OC43, HCoV HKU1, SARS-CoV, MERS-CoV, 2019-nCoV)이며, 4종은 가벼운 감기 증상만을 일으키지만 3종은 신종 코로나 바이러스를 포함하여 심한 호흡기 질환을 일으킵니다.

이번 우한폐렴의 원인으로 지목된 신종 코로나 바이러스는 초기 '2019-nCoV'로 명명되었지만 지난 11일 세계보건기구(WHO)가 정식 명칭을 'COVID-19'로 결정하였으며, 한글 명칭은 '코로나19'로 결정하였습니다. 'CO'는 코로나(Corona), 'VI'는 바이러스(Vrus), 'D'는 질환(Disease), '19'는 질환이 처음 보고된 연도를 의미합니다.

질병관리본부는 감염증 환자로부터 바이러스를 분리하는 데 성공했으며, 이를 백신이나 치료제를 개발하는 데에 과학계와 공유하기로 했습니다. 한국 분리주 이름은 'BetaCoV/Korea/KCDC03/2020'으로 붙어졌습니다. 질병관리본부가 공개한 바이러스 유전정보에 따르면 분리된 바이러스는 중국(우한, 광동), 프랑스, 싱가포르, 독일 등 국외에서 분리한 바이러스와 염기서열이 99% 일치하는 것을 확인하였으며, 아직까지 특이한 변이가 발견되지는 않았습니다.

현재까지 NCBI에 등록된 2019-nCoV(COVID-19) 염기서열은 50건 정도이며, 318건의 단백질 서열 정보와 112건의 논문이 발표되었습니다.


[2019-nCoV (Accession : NC_045512 / Description : Wuhan seafood market pneumonia virus isolate Wuhan-Hu-1, complete genome)]

CLC Genomics Workbench를 이용하여 COVID-19(2019-nCoV) 서열을 확인해 보았으며, 해당 서열을 이용하여 BLAST를 실행해 보았습니다.



[NCBI BLAST using CLC Genomics Workbench 20.0]

 

BLAST 결과 COVID-19(2019-nCoV) 중국, 미국을 제외하고 박쥐로부터 유래한 코로나 바이러스와 유사한 것을 볼 수 있었습니다.

인간에게 심한 호흡기 질환을 일으키는 3종의 바이러스(COVID-19(2019-nCoV), SARS-CoV, MERS-CoV)를 NCBI에 등록된 서열 중에서 랜덤으로 몇 개만을 추려 tree를 그려보았습니다.

아래와 같이 분류된 바이러스의 taxonomy 정보에 따라 tree가 그려지는 것을 확인할 수 있었습니다.


[Tree layout : Phylogram]


[Tree layout : Cladogram,  (Create Tree using CLC Genomics Workbench 20.0)]

 

COVID-19 발생 현황

미국의 존스홉킨스 대학에서 WHO, CDC, NHC의 자료를 토대로 신종 코로나 바이러스의 발생 현황을 실시간으로 확인할 수 있는 사이트를 개설하여 전 세계적으로 정보를 제공하고 있습니다. 아래의 사이트를 참고하면 좋겠습니다.


[출처] "Coronavirus COVID-19 Global Cases by Johns Hopkins CSSE", 2020년 2월 14일 접속, https://gisanddata.maps.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6

최근까지 보도된 자료에 따르면 국내에서의 COVID-19의 확진자는 28명이며, 7명의 확진자(1,2,3,4,8,11,17번)가 퇴원하였습니다. 퇴원한 일부 확진자에게 에이즈(HIV) 치료제를 투약하여 치료 효과가 있었다는 기사들도 많이 보도되고 있지만, 이를 치료제로 쓸 수 있는 과학적인 근거는 아직까진 없다고 이야기합니다. 28번째 확진자가 나타난 이후 추가 확진자가 나오지 않고 있어, 더는 확진자가 늘지 않기를 바랍니다.

예방법

아직은 백신이나 치료제가 없는 신종 코로나 바이러스를 피할 방법은 없을까요? 바이러스의 전파는 주로 비말감염을 통해 이루어집니다. 비말감염이란 재채기나 기침으로 인해 튀는 침방울이 타인에게 접촉되어 감염되는 형태를 말합니다. 우리는 이런 비말감염만 예방하여도 신종 코로나 바이러스로부터 안전할 수 있습니다. 예방할 수 있는 가장 큰 방법으로는 마스크 착용과 손 씻기 입니다.

이처럼 개개인이 할 수 있는 예방법으로는 개인위생을 철저히 하는 방법밖에는 없을 것 같습니다. 질병관리본부에서 제공하는 신종 코로나 바이러스 감염증 예방 수칙을 토대로 나와 타인을 위해 위생에 신경 써주시길 부탁드리겠습니다.


[출처] "질병관리본부" 2020.2.12 발행, http://www.cdc.go.kr/gallery.es?mid=a20503020000&bid=0003





참고문헌

  1. https://terms.naver.com/entry.nhn?docId=5894275&cid=61232&categoryId=61232

  2. https://terms.naver.com/entry.nhn?docId=72940&cid=43667&categoryId=43667

  3. https://www.christiantoday.co.kr/news/328037

  4. https://blog.naver.com/asecino/221788068575

  5. https://news.sbs.co.kr/news/endPage.do?news_id=N1005648026&plink=ORI&cooper=NAVER

작성 : insilicoLab 송하나 선임
 

Posted by 人Co

2020/02/14 14:37 2020/02/14 14:37
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/338

소프트웨어 진흥법 개정안



당사는 생물정보 전문기업으로, 대량으로 생산되는 생물정보 데이터들을 다년간의 생물정보 경험을 바탕으로 연구자들이 필요로 하는 데이터베이스나 분석시스템을 구축하여 더 쉽고 편리하게 유용한 데이터를 생산하고 대용량 생물정보 데이터를 분석할 수 있도록 지원합니다.
생물정보에 특화된 시스템 구축 사업을 수행하고 있기에 관련 법령인 소프트웨어 진흥법 개정안에 대해서 알아보고자 합니다.

1. 개정 취지

현행 「소프트웨어산업 진흥법」은 1987년 12월 4일 「소프트웨어개발촉진법 (법률 제3984호)」으로 처음 제정되었고, 2001년 1월 21일 지식과 정보가 고부가가치를 창출하는 21세기 지식 정보화 사회에서 국가의 경쟁력 확대 기반인 소프트웨어 산업을 종합적으로 육성/발전시키기 위해 전면 개정되어 현재의 모습을 갖추었습니다. 이후 수차례의 전면 또는 부분 개정을 해왔지만, 오히려 소프트웨어 산업계의 요구를 충족하지 못하고 「누더기법」이라는 부정적인 평가를 받기도 했습니다.

여전히 문제로 남아있는 것은 발주기관의 요구사항 불명확성, 사업의 적정대가 미지급 등 공공소프트웨어사업의 불합리한 발주 관행이 여전히 남아 있어 소프트웨어 기업의 수익 저하와 개발자의 근로환경 악화 등 여러 가지를 꼽을 수 있습니다. 또한, IoT, AI, Big Data 등 4차 산업혁명 시대가 도래하였지만, 현행법은 산업적 측면만을 주로 규정하고 있어 융합시대의 경제/사회 변화에 대응하는 데 한계가 있어 보입니다.

이에 2018년 11월 30일 정부는 소프트웨어 인력 양성, 소프트웨어산업진흥기관 지정, 소프트웨어 창업 및 연구개발 지원 등을 통하여 소프트웨어 및 소프트웨어융합 분야를 아우르는 중앙 및 지역 차원의 소프트웨어산업 지원의 체계를 수립하고, 소프트웨어 안전을 확보하고 국민 대상의 소프트웨어 교육을 활성화하여 소프트웨어에 대한 이해를 높이는 등 소프트웨어 진흥을 위한 기반 및 문화를 조성하며, 국가기관 등의 소프트웨어 사업 추진 시 소프트웨어 사업자와의 계약이 공정하게 이루어지고 소프트웨어의 가치가 충분히 보장될 수 있도록 요구사항을 명확하게 하고 적정 사업 기간 및 대가를 산정하도록 하는 등, 소프트웨어 중심의 경제 사회 변화에 대응하고 국가 경제의 지속적인 발전을 도모하기 위하여 소프트웨어산업 진흥법 전부개정법률안(의안번호:2016944, 정부)을 제출하고 법률 제명을 「소프트웨어 진흥법」으로 변경을 추진하고 있습니다.

2. 개정 법안 주요 내용

현행법은 5장 48개 조문이나 개정안은 7장 9절 73개 조문으로 개편되었으며, 이 중 27개 조문이 새롭게 만들어졌고, 18개 조문을 현 상황에 맞게 수정되었습니다.


1) 주요 신설 내용

개정안은 법률로의 상향 및 조문 이관 등을 포함하여 총 27개의 조문이 신설되었으며 신설된 조문의 주요 내용은 아래와 같습니다.

① 지역별 특성에 기반한 소프트웨어산업의 진흥을 지원하고 지역산업과 소프트웨어와의 융합을 촉진하기 위하여 지역별 소프트웨어산업진흥기관을 지정하여 업무를 위탁할 수 있는 근거를 마련함(안 제9조).
② 소프트웨어기술 가치평가 및 금융지원 등 소프트웨어창업 활성화를 추진하고 소프트웨어창업을 지원하는 공공단체 등에 지방자치단체가 출연·출자할 수 있도록 함(안 제14조).
③ 소프트웨어 지식재산권 보호시책을 마련하고 계약상대자가 지식재산권을 행사하기 위해 소프트웨어산출물의 반출을 요청하는 경우 국가기관 등의 장은 원칙적으로 이를 승인하도록 하는 등 소프트웨어 지식재산권 보호 제도를 도입함(안 제17조 및 제58조).
④ 소프트웨어 인력을 양성하기 위해 교육·훈련, 경력개발 지원 등에 관한 시책을 수립·시행하고, 소프트웨어 전문 인재를 육성하기 위해 소프트웨어 전문교육기관을 설치·운영할 수 있도록 함(안 제22조 및 제23조).
⑤ 소프트웨어 분야 국가연구개발 사업을 실시하는 경우 원시코드 공개 개발 방식을 활용하거나 그 결과물을 공개소프트웨어로 배포하도록 하는 등 소프트웨어 연구 및 기술개발을 촉진하도록 함(안 제25조부터 제27조).
⑥ 소프트웨어융합을 활성화하여 다른 산업 분야의 혁신을 촉진하고 경쟁력을 강화할 수 있도록 정부의 노력 의무를 규정함(안 제28조).
⑦ 소프트웨어안전 확보를 위한 시책을 마련하고 소프트웨어안전 분야의 산업 진흥, 인력 양성 및 기술 연구 등의 사업을 추진할 수 있도록 함(안 제29조 및 제30조).
⑧ 과학기술정보통신부장관은 소프트웨어교육 콘텐츠의 개발 등 소프트웨어교육 사업을 추진하도록 하고, 국가와 지방자치단체는 초·중등학교의 소프트웨어교육을 진흥하기 위해 노력하도록 함(안 제31조부터 제33조).
⑨ 국가기관등의 장이 민간의 자본과 기술을 활용하여 공공부문과 민간부문이 협력하는 소프트웨어사업을 추진할 수 있도록 민간투자형 소프트웨어사업의 추진 근거를 마련함(안 제39조).


2) 주요 개정 내용

개정안은 총 18개 조문이 정비되었으며 조문 개정은 제1장(총칙) 3개, 제3장(소프트웨어산업의 기반 조성) 5개, 제5장(소프트웨어사업의 선진화) 8개 등이며, 개정된 조문의 주요 내용은 아래와 같습니다.

① 국가기관등의 소프트웨어사업 추진 시 소프트웨어프로세스 품질인증을 받은 자를 우대할 수 있는 근거를 마련함(안 제21조제4항).
② 국가기관등의 소프트웨어사업 영향평가 공시 의무를 규정하고 소프트웨어사업자가 영향평가의 재평가를 요청하는 경우 재평가하도록 함(안 제42조제2항 및 제3항).
③ 국가기관등의 소프트웨어사업 발주 시 요구사항 작성에 관한 분석 또는 설계를 분리하여 발주할 수 있도록 함(안 제43조제3항).
④ 중소 소프트웨어사업자의 사업참여 지원 규정에서 대기업 참여 제한의 예외 사업에 민간투자형 소프트웨어사업 등을 추가함(안 제47조).
⑤ 국가기관등의 소프트웨어사업 발주 시(유지·관리 제외) 소프트웨어사업자가 수행 장소를 제안할 수 있도록 함(안 제48조제3항).
⑥ 소프트웨어사업 과업변경심의위원회의 명칭을 ‘소프트웨어사업 과업심의위원회’로 변경하고 현행 재량사항으로 규정되어 있는 위원회 설치를 의무사항으로 변경함. 또한 국가기관등의 장은 특별한 사정이 없으면 위원회 심의결과를 계약 등에 반영하도록 하고 소프트웨어사업자가 위원회 개최를 요청하는 경우 국가기관등의 장은 특별한 사정이 없으면 이를 수용하도록 함(안 제49조제1항부터 제3항).
⑦ 하도급 제한 규정에서 사업금액의 50%를 초과하여 하도급하는 경우에도 사업금액의 전부를 하도급할 수 없음을 명시하고 재하도급 받은 사업을 다시 하도급할 수 없음을 규정함(안 제50조제1항 및 제3항)


3. 또 다른 시각

위의 내용처럼 이번 개정안을 살펴보면, 소프트웨어 사업자와 기술자에게 도움이 되는 내용이 많이 포함되어 있습니다. 그러나 일각에서는 아래와 같은 개정안의 일부 조항을 근거로 부정적인 시선을 내비치기도 하였습니다.

제34조(소프트웨어 역량의 검정) ① 과학기술정보통신부장관은 국민의 소프트웨어에 대한 관심을 확산시키고, 소프트웨어를 활용한 창의적 문제해결 능력을 육성하기 위하여 소프트웨어 역량을 검정할 수 있다.
② 제1항에 따른 소프트웨어 역량 검정의 방법ㆍ절차ㆍ내용ㆍ대상 및 시기에 관하여 필요한 사항은 대통령령으로 정한다.


위 조항의 일환으로 이미 정부와 한국소프트웨어산업협회(KOSA)에서는 ITSQF라는 새로운 기술자 등급제를 만들고 실시할 준비를 하고 있습니다. 새로운 기술자 등급제(ITSQF)는 4차산업 혁명 시대의 SW산업 경쟁력을 확보하기 위해 SW기술자들에 대한 경력 경로를 제공하는 등의 이점이 있으나, NCS와는 다른 등급체계로 타 산업과의 호환성과 범용성 측면에 제약이 있을 수 있고, SW기술자들의 직종 전환 시 경력연수가 줄어드는 문제가 발생하는 등의 보완이 필요한 부분이 많아 보입니다.

이번 소프트웨어진흥법 개정안 이외에도 정부는 부분 개정으로 2018년 12월 28일 공공소프트웨어사업 원격지 개발 활성화 방안 등을 심의/의결하였습니다. 원격지 개발 활성화 방안의 경우, 공공소프트웨어사업 발주 시 만연된 소프트웨어 개발자의 장기 파견 요구로 인한 기업의 부담과 개발자의 근로여건 악화를 개선하기 위한 것이었습니다.

이를 위해서, 공공소프트웨어 사업 수행 시 소프트웨어 기업이 제시하는 ‘작업장소’를 우선 검토하도록 법령을 개정하고, 원격개발 사업관리 안내서를 마련하고, 원격지개발 관리의 어려움을 해소하기 위해 발주처의 소프트웨어 사업관리 도구 활용을 확산하고, 전문기관을 통해 발주자에 대한 기술지원을 확대하며, 다양한 원격개발 환경에 대한 최소기준을 제시하여, 사업별 최적의 장소를 선택할 수 있도록 지원할 예정이라고 합니다.

신기술의 발전으로 인한 소프트웨어 영역의 확대, 소프트웨어 융합 환경에 부합하는 새로운 지원 환경을 조성하는 등 새로운 법안은 필요해 보입니다. 다만, 지난해 일부 개정한 원격지 개발 활성화 방안처럼 현재 드러나 있는 문제점들을 파악하여 개선하는 등 발주기관, 사업자, 개발자 모두에게 효과적으로 다가갈 수 있는 법안이 될 수 있었으면 좋겠습니다.

※ 참고사항(기술자 등급제 변경)

한국소프트웨어산업협회에서 2018년까지(시행일은 2019년 8월 31일까지)는 기술자의 등급(9단계)을 기준으로 평균 임금을 산정했었습니다. 2019년 9월 이후부터는 새로운 기술자 등급제(28단계의 직무별 등급, 자세한 내용은 참고문헌 5번 참고)를 바탕으로 기술자의 평균 임금을 산정한다고 합니다. 바라는 점이 있다면, 새로운 기술자 등급제(ITSQF)가 발주기관, 사업자, 개발자 모두의 의견을 현실적으로 반영하여 시장에 잘 적용될 수 있었으면 좋겠습니다.

참고문헌

  1. 의안정보시스템

  2. ‘소프트웨어 진흥법 개정안’... 국회 조속히 처리해야

  3. 누구를 위한 소프트웨어진흥법 개정인가?

  4. SW사업주 영리협회 KOSA를 위한 소프트웨어진흥법 개정과 신기술자등급제 ITSQF 반대합니다

  5. IT분야역량체계(ITSQF)란?

  6. 소프트웨어산업진흥법 전부 개정 촉구 서명 참여 안내

  7. [SW진흥법 좌담회]18년만에 개정된 법, 어떤 내용이 들어있나

작성 : BS실 박병준 선임


Posted by 人Co

2020/01/31 16:30 2020/01/31 16:30
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/337

[채용공고] 2020 상반기 공채



(주)인실리코젠은 국내에서 생산되는 바이오 데이터의 60% 이상을 가공하고 저장하는 데에 이바지하고 있습니다.
방대한 데이터와의 지속적인 커뮤니케이션은 우리의 발걸음을 AI가 이끄는 새로운 세계로 향하게 하였습니다.

저희 人Co는 20년 가까운 시간 동안 생물정보 외길을 변함없이 걸어왔습니다. 앞으로의 Bioinformatics는 AI의 도움을 받아 지금껏 만나보지 못한 insilico 상의 변화를 만들어낼 것입니다.이러한 변화와 혁신이 BI가 궁극적으로 추구하고자 하는 새로운 가치에 이바지할 수 있도록 콘텐츠와 서비스를 simple하게 디자인하겠습니다. 저희와 같이 하는 많은 연구자들이 Insilicogen’s Experience를 향상할 수 있도록 한층 더 노력하는 기업이 되겠습니다.

이러한 변화와 혁신의 무대 위에서 함께할 인재를 모십니다. 늘 새로운 꿈을 꾸며 무한한 도전정신을 가진 분들과 같이하고 싶습니다.

[채용분야]

BI 전문가
- 담당업무 : Bioinformatics
- 자격요건 : 생물정보학 또는 생물학 관련 전공자 (석사 이상) 프로그래밍 가능자 (Python, Perl, R 택 1), 유전체 및 전사체 분석 경험
- 우대사항 : 생물정보 데이터 분석 경력 5년 이상, 연구 논문 작성 가능자

경영지원
- 담당업무 :  회계업무(연구과제 포함) 경영지원 업무
- 자격요건 : 회계 관련 업무 5년 이상 경력자, 학사이상, 운전가능자, 더존 활용 능숙자
- 우대사항 : 투자기획, 분석 업무 경험자, 세무감사 경험자, 회계 관련학과 전공자, 관련 자격증 소지자

JAVA 전문개발자
- 담당업무 :  JAVA 웹 어플리케이션 개발, 공공기관 SI 사업 진행
- 자격요건 : JAVA/JSP 웹 시스템 개발 관련 경력 2년 이상, Oracle/MySQL DB연동 및 웹어플리케이션 개발 경력, 전자정부프레임워크(eGOV)기반 프로그램 개발 경력
- 우대사항 : 관련학과 전공자, Bootstrap 등 CSS, HTML5에 대한 이해가 높은 분, 웹/WAS 서버 운영 관리 경험자

마케팅 및 영업지원
- 담당업무 : CRM 활용 고객 관리, 온라인 마케팅, 학회 및 행사 지원, 기타 영업 활동 지원
- 자격요건 : 학사 이상(전공 무관) / 영업지원은 고졸 이상, 온라인 커뮤니티 및 SNS 활용 관심자, 창의적이고 기획력이 있는 자
- 우대사항 : 바이오 관련 전공자, 운전가능자, 문서 작성능력 우수자

생물정보 컨설턴트
- 담당업무 : 생물정보 상용 솔루션 전담 컨설팅, 실데이터 분석 컨설팅을 통한 사용자 교육 진행
- 자격요건 : 생물정보학 또는 생물학 관련 전공자 (석사 이상) 운전가능자
- 우대사항 : 생물정보 데이터 분석 경험자

UI/UX 디자이너
- 담당업무 : UI 디자인 및 설계, 인터랙션 디자인 작업
- 자격요건 : UI/UX에 대한 전반적인 이해와 커뮤니케이션 능력, XD, Illustrator, After Effects 등의 툴 활용능력
- 우대사항 : 멀티미디어, 커뮤니케이션, 서비스 디자인 전공자, 관련 업무 1년 이상 경력자

[전형절차]

1. 서류전형 (2020. 01. 21 ~ 2020. 02. 03)
     - 입사지원서 (당사양식)
     - 서류전형 합격자에게만 1차 면접 요청 (이메일 통지)
     - 디자인 지원자는 포트폴리오 (자유 형식, URL포함)

2. 실무자 면접 - 1차 (2020. 02. 03 ~ 2020. 02. 07)
     - 자기소개 (경력포함) 포트폴리오 (PDF, 5분 분량)
     - 1차 면접 합격자에게만 2차 면접 요청 (이메일 통지)

3. 임원 면접 - 2차 (2020. 02. 10 ~ 2020. 02. 13)
     - 2차 면접 합격자에게만 3차 추가서류 제출 요청 (이메일 통지)

4. 추가서류 제출 - 3차 (2020. 02. 14 ~ 2020. 02. 21)
     - 하단 제출서류 참고

5. 최종합격 통보 (2020. 02. 24 예정) - 입사예정일 (2020. 03. 02)



[채용형태]
정규직 : 신입(인턴 포함), 경력(경력에 따라 수습 포함)

[근무환경]
- 근무제 : 주 5일 근무
- 복리후생 : 4대 보험, 퇴직연금 및 성과급, 유연근무제 (장기근속자)

- 휴가제 : 연차, 경조휴가, 충전휴가 (장기근속자)
- 지원 : 경조사비, 주차비, 교육훈련비, 도서 등

[접수방법]
서류제출방법 : E-mail 첨부 제출 (ms@insilicogen.com)

[제출서류]
1) 서류전형 시
 ① 자사 입사지원서 : 파일명 `입사지원서_성명_지원분야.docx`로 저장
 ② 개인정보 이용 동의서 포함




2) 1차 면접전형 시 (서류전형 합격자에게만 1차 면접 요청_이메일 통지)
 공통 : 포트폴리오(PDF) 제출 및 발표(자기소개 및 경력 위주 내용, 5분 이내)

3) 3차 서류 제출(2차 면접 합격자에게만 3차 추가서류 제출 요청_이메일 통지)
 ① 공통 : 건강검진확인서 및 병력확인서 제출
 ② 경력지원 시
  - 전 근무지의 근로자 원천징수 영수증(퇴사연도, 직전연도)
  - 고용보험이력확인서 : 고용보험 사이트에서 발급 가능

Posted by 人Co

2020/01/21 10:26 2020/01/21 10:26
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/336

Welcome The Year Of Mighty Mouse!

한 해 동안 열심히 달려온 인실리코젠 모든 직원분이
다가오는 2020년을 힘차게 맞이하고자 한자리에 모였습니다.
2019 인실리코젠 송년의 밤, 그리고 2020을 맞이하는 시무식
영상으로 함께 보시죠!


















자선 경매 행사로 모은 기부금은 아름다운가게에 전달되었으며 윈스턴 처칠의
"우리는 일함으로 생계를 유지하시만 나눔으로 인생을 만들어간다"는 말처럼
의미있는 2019년을 보냈습니다.  

아름다운가게 블로그 확인하기:
Link 1 : http://blog.naver.com/beautifulcup/221797031474 
Link 2 : http://bitly.kr/tlLfO2AG





IX팀 김지인 / 이용태

Posted by 人Co

2020/01/13 08:47 2020/01/13 08:47
, , , , , , , , , , ,
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/335



1인 미디어와 동영상

2019년 현재, 1인 미디어 시대를 사는 우리에게 가장 친숙한 정보 매체는 동영상입니다. 유튜브 같은 동영상 플랫폼을 통하여, 동영상 파일을 업로드하거나 다운로드한 경험이 있을 것입니다. 이때 다양한 동영상 파일 형식들이 지원되고 있으며, 이 중 많이 사용되는 형식으로는 MPEG, MPEG2, MPEG4, MP4 등이 있습니다. 언급한 동영상 형식은 모두 MPEG와 동일하거나 발전된 형식이며, MPEG라는 키워드 자체는 생소하지 않으리라고 생각합니다. 이번 시간에는 이 MPEG가 무엇이며, 우리가 알고 있는 유전체와 어떤 관계가 있는지 알아보도록 하겠습니다.


MPEG이란?

MPEG(엠펙)은 1988년에 설립된 표준화 전문 그룹으로 풀네임은 Moving Picture Experts Group(동영상 전문 그룹)입니다. 좁은 의미로는 그 이름을 가진 코덱이나 파일 확장자이기도 하지만 넓은 의미이자 본래 의미로 따지면 코덱이나 확장자만이 아닌 표준 규격 자체를 포괄하는 용어입니다. 이 그룹에는 미국의 AT&T, 영국의 BritishTelecom, 일본의 NTT, 미쓰비시, 후지쯔와 같은 비디오 및 통신장비 업체들이 주로 소속되어 있습니다. 정지된 화상을 압축하는 방법을 고안하고 있는 JPEG과는 달리 MPEG은 시간에 따라 연속적으로 변하는 동화상 비디오, 오디오 데이터의 압축과 해제 방식을 규정하고 있습니다[그림 1].




[그림 1] MPEG 메인 사이트
(출처 : MPEG 사이트)

앞서, MPEG가 동영상의 표준 규격 자체 즉 표준화된 형식이라고 언급하였습니다. 이번 글의 중요한 주제이자 키워드가 될 수 있습니다. 먼저, 표준화의 정의는 여러 가지 제품들의 종류와 규격을 표준에 따라 제한하고 통일하는 것을 말합니다. 이와 비슷한 말로 정규화가 있습니다. 그럼 왜 표준화가 필요한 걸까요? 일반적인 정보 통신 표준의 의의는 기술의 공개 및 시스템 간의 호환성을 통한 신기술 확산 및 공유에 있습니다. 좀 더 자세히 말하면, MPEG의 표준화는 동영상 압축 및 압축 해제 기술의 확산 및 공유에 매우 큰 영향을 주었다고 할 수 있습니다. 현재, MPEG는 대부분의 디지털 미디어 콘텐츠에 적용되고 있으며, 다양한 형태로 다양한 플랫폼에서 확인할 수 있습니다[그림 2, 3].



[그림 2] 디지털 미디어 콘텐츠와 압축
(출처 : MPEG-G document, Workshop on Genomic Information Representation held in San Diego on 18th April 2018)




[그림 3] 압축 전송의 자유도
(출처 : MPEG-G document, Workshop on Genomic Information Representation held in San Diego on 18th April 2018)


유전체 생산 속도 증가와 압축의 필요성


인간의 유전체 지도를 해독하기 위해 13년간 진행된 인간 게놈 프로젝트(Human Genome Project)가 2003년 종료된 이후, 유전체 분석을 위해 필요한 비용은 기하급수적으로 감소하였습니다. 2014년 미국의 유전체 분석 장비 제조업체인 일루미나(Illumina)는 같은 해 1월 개최된 JP모건 헬스케어 컨퍼런스에서 1,000달러(약 110만 원)로 한 사람의 게놈 전체를 해독할 수 있는 게놈 분석 장비 HiSeq X10 출시를 발표하면서 1,000달러 게놈 시대를 이끌었습니다.
그 이후 2018년에 들어, Veritas Genetics는 999달러의 전체 게놈 시퀀싱 서비스 가격을 80% 인하하여 선착순 1,000명에게 199달러에 유전자 분석 서비스(결과 해석 포함)를 제공한 사례가 있습니다. 이는 1,000달러의 1/10 수준인 100달러(약 11만 원)로 한 사람의 유전체 서열 전체를 해독할 수 있는 100달러 게놈 시대가 곧 온다는 것을 예고합니다.
유전체 생산 비용의 감소는 관련 산업의 발전을 이끌고 있으며, 분석된 대용량의 유전체 데이터는 빅데이터 기술과 맞물려 유전체 분석 시장을 빠르게 발전시켰습니다. Google과 Amazon은 보유하고 있는 클라우드 시스템을 활용하여 유전체 빅데이터 클라우드 서비스를 제공하고 있으며, 23andme와 같은 개인 전장유전체 분석서비스 등 다양한 산업화가 이루어졌습니다. 또한, 국외 유전체 아카이브 중 하나인 EMBL-EBI에 따르면, 2018년부터 10 페타바이트(petabyte) 규모의 데이터를 서비스하고 있습니다(그림4). 이제는 페타바이트(petabyte)급의 생산 시대로 들어왔으며, 이는 현존하는 디지털 데이터 중 가장 빠르게 생산하는 유전체 빅데이터가 된 것입니다.


[그림 4] EBI, 데이터 서비스 용량
(출처 : EMBL EBI annual-report-2018)

대용량 유전체 데이터의 급격한 증가는 이를 저장하는 저장 매체의 발전 속도를 추월하였기에, 저장 및 관리하는 비용의 감소 및 전송의 필요성이 지속해서 제기되었고, 이는 MPEG와 같은 압축 표준이 필요한 이유입니다.


유전체 압축 표준화

유전체 압축에 대한 표준화는 2014년부터 이루어지고 있습니다. 2014년 3월 스페인의 발렌시아에서 진행된 108차 MPEG(Moving Picture Experts Group) 회의에서 유전체 데이터의 압축, 저장, 그리고 스트리밍에 대한 필요성이 최초로 제기되었습니다. 처음 시작부터, 비디오 압축 전문가와 생물정보 전문가에 의해 공동으로 작성되었습니다. 전통적으로 오디오와 비디오 데이터의 압축과 처리에 대한 표준화를 진행해온 MPEG에 유전체 데이터에 대한 표준 이슈를 제기한 것은 특이하지만, 디지털 데이터의 종류를 확장하면 MPEG에서 다룰 만한 표준이라고 볼 수도 있습니다. MPEG는 유전체 표준의 필요성을 받아들여, 미래 미디어 서비스로 대두하고 있는 몰입형 미디어(Immersive Media) 표준개발을 위한 MPEG-I 프로젝트를 2017년부터 시작하였습니다. 이 중 유전체 압축 관련된 표준화도 진행하고 있는데 이를 MPEG-G라고 합니다[그림 5].


[그림 5] MPEG 표준개발 로드맵
(출처 : 한국정보통신기술협회 TTA연구보서, MPEG뉴디미어 포럼 2019)


MPEG-G

생명 공학 표준 (ISO TC 276 / WG 5)을 위해 MPEG와 ISO 기술위원회가 공동으로 개발한 MPEG-G 표준은 유전체 데이터를 처리(분석, annotation 등) 시 발생하는 문제 해결 및 비용 절감을 위한 최초의 국제 표준입니다. 새로운 압축 및 전송 기술뿐만 아니라 메타 데이터의 형태로 연결하는 표준 규격 정보와 시퀀싱 데이터를 효율적으로 처리할 수 있는 상호 운용 가능한 애플리케이션 및 관계된 서비스업계 전반의 에코시스템을 구축하기 위한 API (Application Programming Interfaces)를 제공합니다.
에코시스템(ecosystem) – 원래 생물학 용어로, 자연환경과 생물이 서로 영향을 주고받으면서 함께 생존해 나가는 자연계의 질서를 말합니다. 이것을 1993년 미국하버드대 연구교수인 제임스 무어(Moore)가 비즈니스에 접목해 비즈니스 에코시스템이란 용어를 만들었습니다. 주로 IT 분야의 여러 기업이 몇몇 리더 기업을 중심으로 경쟁과 협력을 통해 공생(共生)하고 함께 발전해 나가는 모습을 지칭합니다.
MPEG-G 표준의 적용을 통하여, 압축 데이터에 대한 선택적 액세스(access), 데이터 스트리밍(streaming), 압축 파일 연결, 유전체 연구 집계, 시퀀싱 데이터 및 메타 데이터의 선택적 암호화 등 다양한 사례에서 필요한 데이터 압축 및 전송을 지원하게 됩니다. (그림 6.)



[그림 6] MPEG-G 표준을 활용한 에코시스템의 완벽한 지원
(출처 : : MPEG-G document, Workshop on Genomic Information Representation held in San Diego on 18th April 2018)


특히 고성능 컴퓨터 기술(HPC, High Performance Computing)과 연계하여, 유전체 아카이브의 익명데이터와 의학 및 헬스산업의 데이터를 연결하는 중요한 가교역할을 할 것으로 기대하고 있습니다[그림 7].



[그림 7] HPC환경의 유전체 분석을 위한 MPEG-G의 역할
(출처 : MPEG-G document, Workshop on Genomic Information Representation held in San Diego on 18th April 2018)


마치면서

정리하면, MPEG-G 표준은 현재 유전체 정보 처리의 효율 및 경제성을 고려한 규격이며, 유전체 압축 기술의 문제점과 한계를 해결하기 위한 가장 규모가 큰 국제 협력이자 노력입니다. 2019년 현재, MPEG-G 표준의 진행은 유전체 파일의 특징 및 규격의 표준에 대한 API 부분은 FDIS(Final Draft International Standard, 최종 규격 전 초안) 단계로 완료되었으나, 실제 적용을 위한 유전체 파일 형식에 따른 압축 방법이나 표준 압축 알고리즘 등 은 아직 연구 논문 수준으로 좀 더 시간이 필요합니다. 유전체 정보를 다루는 견해에서 MPEG-G 표준의 다음 소식을 하루빨리 기다려봅니다.



참고자료
작성 : 대전지사 홍지만 선임

Posted by 人Co

2019/12/17 13:13 2019/12/17 13:13
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/334

[모집공고] 人Co INTERNSHIP 2019 하반기



[모집분야]
- 지원대상 : 학사 기졸업자 또는 졸업예정자
- 지원기간 : 2019년 12월 9일(월) ~ 12월 17일(화)
- 지원서류 : 지원서(첨부된 당사 양식),
              성적증명서 및 졸업증명서(기졸업자 또는 졸업예정자 대상)
- 지원방법 : 지원서류를 메일로 발송 (recruit@insilicogen.com)

[전형일정]

- 1차 서류전형 : 2019년 12월 18일(수) 서류합격 발표 (개별연락)
- 2차 면접전형 : 2019년 12월 23일(월) ~ 2019년 12월 24일(화)
- 최종 합격자발표 : 2019년 12월 26일(목)
- 인턴근무지 : 본사(경기도 용인시)
- 인턴기간 : 총 6주(2020년 1월 6일(월) ~ 2월 14일(금))
- 인턴혜택 : 1. 생물정보 기초 교육 커리큘럼
                  2. 기업 공통업무 기본역량 습득
                  3. 점심 제공
                  4. 수료증 발급
- 별도 공지사항 : 인턴십 기간 동안 정직원과 동일하게 출퇴근 규정 엄수
                    중도 이탈자 수료 불인정

[입사지원서 양식]

Posted by 人Co

2019/12/09 14:26 2019/12/09 14:26
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/333



4차 산업혁명이라는 이름에 걸맞게 생물 분야 뿐만 아니라 어느 도메인에 가도 AI란 용어를 어렵지 않게 찾을 수 있어요. 연구소나 기업은 현재 진행하는 프로젝트에 AI를 접목해 기계학습 및 프로그래밍을 활용하고 있습니다. 덕분에 기존 Rule-based의 작업이 해결하지 못했던 부분까지 많은 인력을 쓰지 않고도 높은 정확도의 프로세스를 진행할 수 있기도 합니다. 그렇다면 AI 분야 특히, 기계학습 혹은 딥러닝(기계학습의 부분집합)에 입문하는 우리는 무엇을 준비해야 할까요?

블로그를 쓰고 있는 현재에도 이 분야와 직・간접적으로 관련된 기초를 탄탄히 하고자 공부하고 있는 사람으로서 AI를 이해하기에 필요한 사전 지식과 그에 도움이 될 만한 좋은 책, 사이트, 세미나 강좌들을 선별하여 소개하려 합니다. 공부 순서는 크게 상관없고요. 기계학습 및 딥러닝을 공부하다가 언젠가 필요해질 때, 이 블로그에 찾아오셔서 방향을 찾아보는 것도 좋은 방법이 될 것으로 생각합니다.


연구 분석가나 개발자는 프로그래밍 언어는 필수적으로 하나 정도는 쓸 수 있어야 합니다. 언어는 다양하지만, 일의 목적에 따라 적합한 언어가 다를 수 있습니다. 기계학습 및 딥러닝 분야에서는 R과 Python이 현재 많이 쓰이고 있어서 개발된 라이브러리를 편하게 이용하기 위해선 둘 중 하나를 추천합니다. 참고로 전 Python을 주로 쓰고 있기에 아래 대부분의 포스팅은 Python에 맞춰져 있습니다.

사용자 삽입 이미지
점프 투 파이썬

책으로 사도 되지만 온라인에 e-book으로 있어서 언제든 참고 가능합니다. 첫 장부터 재미있다고 최면을 걸고 끝까지 한번은 정독하시길 권장 드려요. 후반부에 점차 어려울 순 있겠지만, 독학이 어려운 수준은 절대 아닙니다.

도전! (점프투파이썬)


Linux 기초와 파이썬 및 Pandas 교육(인실리코젠)
우리 회사에서는 Bio 분석가를 위한 교육이 매달 진행되고 있습니다. 달마다 주제가 달라지지만, Linux 기초와 파이썬 및 Pandas 교육도 있습니다. 책이나 강좌로 차근히 배우는 것도 좋지만, 이런 교육을 활용하면 단시간 내에 컴팩트한 기초문법 및 활용을 접할 수가 있습니다. 하지만 교육 수련생의 자릿수가 정해져 있으니 미리 홈페이지와 페이스북 알림을 통해 확인해보시길 추천합니다.

  • 人CoACADEMY : 생물정보 관련 교육 정보를 얻을 수 있음.
  • 人CoDOM : 생물정보 분야의 집단 지성 창출을 목적으로 운영되는 지식 커뮤니티
  • 인실리코젠 페이스북 : 친구를 맺어놓으면 관련 소식을 빠르게 받아볼 수 있음.
  • KOBIC 교육센터 : 인실리코젠이 제작한 온라인 무료 교육(상시 오픈형 교육은아님.)

NumPy는 파이썬의 수학 라이브러리입니다. 라이브러리란 '이미 누군가가 잘 만들어놓은 패키지'로 자주 쓸 것 같은 특정기능을 모아놓은 함수를 의미합니다. 즉, 파이썬으로 코딩 시 수학 라이브러리(예를 들면 Sin(x), Cos(x) 등)를 직접 구현할 필요 없이 NumPy 안에 저장되어있는 함수들을 가져와 쓸 수 있다는 거죠. 수학 및 통계 라이브러리와 더불어 NumPy의 장점은 속도에 있습니다. 내부적으로 C와 Fortran으로 작성되어있어 실행속도가 일반적인 수준에 비해 꽤 빠른 편이죠. NumPy와 관련된 설명은 나무위키에 잘 정리되어있으니 한번 읽어보는 것도 좋겠네요. 또한, 많은 기계학습과 딥러닝 패키지가 NumPy를 기반으로 구현되어있고 input 및 인자 데이터 타입을 NumPy로 요구하기 때문에 꼭 익혀야 하는 모듈이기도 합니다.



신경망(딥러닝) 행렬 표기법
(출처:
http://taewan.kim/post/wij_and_wji/)

기계학습 및 딥러닝에서 왜 이걸 써야 할까요? 우선, 간단하게 행렬 연산에 대해 말해보겠습니다. 기계학습 및 딥러닝 내부적 알고리즘에선 내가 가진 데이터를 잘 설명하는 해(기울기 혹은 가중치)를 찾기 위해 다항식의 연립방정식을 풀 수밖에 없다는 건 공감하실 겁니다. 이런 일들이 시간상 효율적으로 이루어지려면 선형대수학을 이용하여 계산할 수밖에 없고, 그 말은 행렬식을 다뤄야 한다는 말이죠. 만약 기본 자료형인 리스트로 2차원 행렬을 만들게 되면 아래와 같습니다.

>a = [[1, 2], [3, 4]]
>a
[[1, 2], [3, 4]]

여기에 단순히 행렬 스칼라 곱을 하려 해도 이중 for 문을 써서 계산을 해야 하죠. 그러나 NumPy를 쓰면 행렬 연산을 지원하기 때문에 아래와 같이 아~주 간단히, 쉽고, 빠르게 계산진행이 가능합니다.

>import numpy as np
>a = np.array(a)
>a
array([[1, 2],
       [3, 4]])
>a*2
array([[2, 4],
       [6, 8]])

이를 브로드캐스팅(broadcasting)이라 하고 하며, 작은 배열을 큰 배열과 서로 호환되도록 아래와 같이 작은 배열이 큰 배열에 크기를 맞추는 것입니다. 이런 편리한 기능이 있는데 당연히 NumPy를 쓸 수밖에 없겠죠?




Numpy의 broadcasting
(
출처 : 매일매일딥러닝블로그)

NumPy를 공부할 곳은 검색했을 때 무수히 많았어요. 그중 제가 생각했을 때 이것만 봐도 되겠다고 생각한 블로그와 사이트 추려봤으니 시간이 될 때 실습하시길 바랍니다.

Matplotlib이란 시각화 라이브러리 중 하나입니다. 만약 R 언어를 이용하고 있다면 ggplot이란 강력하고 대표적인 라이브러리가 있겠네요. Python에서도 대표적인 하나를 뽑자면 Matplotlib이 있습니다. 그러나 다른 라이브러리보다 이것을 꼭 이용해야 한다고 말하고 싶은 건 아닙니다. Python에선 Matplotlib을 포함하여 seaborn, plotly 같은 고차원 그래픽 모듈도 있으므로 분석가의 목적 또는 기호에 따라 다양하게 이용할 수 있어요. 많은 모듈 중 손쉽게 시각화를 구현할 수 있는 하나 라이브러리를 익혀두는 게 좋습니다.

시각화 모듈은 기계학습 및 딥러닝에서 정말 많이 쓰시게 될 겁니다. EDA(Exploratory Data analysis, 탐색적 데이터 분석) 작업을 하다 보면 데이터 전체의 분포를 보기 위해서는 테이블보다 그림(박스플롯, 산점도)이 강력한 도구가 되기도 합니다.



EDA시각화-Heatmap(왼쪽)과 Line plot(오른쪽)


또한, 이미지 딥러닝 중 segmentation을 예로 들어보면, 내가 생성한 모델의 prediction accuracy가 얼마나 높게 나타나는지 보고 싶을 때가 있을 겁니다. Image processing 기법과 시각화 모듈을 사용하면 원본 이미지와 결과 이미지를 시각화하여 overlap 해보면 모델이 좋은 방향으로 개발되고 있는지 확인도 가능하겠네요.



Deeplearning - segmentation model


조금만 검색하셔도 Matplotlib을 연습할 많은 블로그나 사이트가 있습니다. 그러나 그래프만을 위해 공부를 깊게 하는 건 제 경험상 비효율적인 것 같아요. 시각화 라이브러리는 내가 필요로 할 때 검색해서 만들어가며 자신의 코드를 하나둘 씩 쌓는 게 중요합니다. 혹은 다음에 나올 Pandas를 공부하다 보면 자연스레 시각화 파트에서 익히게 될 수 있을 거예요.



드디어 Pandas 입니다. 역시나 파이썬의 모듈이고요. 이게 뭔지 가장 잘 표현하는 방법은 R의 vector와 dataframe 기능입니다 라고 설명하는 것입니다. R을 접해보시지 않은 분들을 위해 부가 설명해드리면 이 언어는 Wes McKinney가 '시계열 데이터를 분석하기 위해 Python도 R과 같은 데이터 분석이 가능한 모듈이 필요해'라고 생각해서 만든 모듈입니다. 따라서 당연히 R을 닮았습니다. 기본 Python으로 코딩한다면 테이블 형식의 데이터를 행과 열을 추출하고, 혹은 특정 조건을 걸어 추출하고 새로운 테이블 형태로 정리하는…. 말로만 해도 얼마나 많은 번거로움이 나타날지 느껴지시죠?

간단한 예제를 통해 확인해볼게요. 예제를 볼 땐 이걸 순수 Python으로 코딩해서 똑같은 작업을 한다면 몇 줄에 끝낼 수 있을지 상상해보면서 보도록 합시다. 우선 csv 예제 파일을 읽어서 데이터 구조부터 파악해 볼게요.

※첨부파일 : train.csv

>import pandas as pd
>train = pd.read_csv('train.csv')
>print(train.columns)
Index(['datetime', 'season', 'holiday', 'workingday', 'weather', 'temp',
       'atemp', 'humidity', 'windspeed', 'casual', 'registered', 'count'],
      dtype='object')
>train.head()



그럼 여기서 casual, registered, count, datetime 열만 삭제하고 새로운 데이터를 만들려면? Python만으로는 반복문과 변수선언 등등 여러 가지 방법들이 머릿속을 지나가죠. 그렇지만 pandas는 한 줄로 처리할 수 있습니다. 그 dataframe에서 간단히 plot 생성도 가능하고요.

train = train.drop(["casual", "registered", "count", "datetime"], axis=1)
train.head()





Matplotlib같은 시각화 모듈과 함께 Pandas를 사용하면 아주 강력한 EDA툴이 되기도 합니다. 특히나 Mckinney의 의도처럼 시계열 데이터를 가공하고 EDA를 진행하는데 강력한 도구가 될 수 있답니다.


Time-series plot

요즘엔 AI뿐 아니라 데이터 분석을 위해서 관련 교육이 늘어가는 추세가 보입니다. 특히 Jupyter + Pandas + maplotlib/seaborn 을 묶어서 교육을 진행하는 프로그램들이 점차 늘어나고 있습니다. 우리 인실리코젠의 외부 교육프로그램도 해당 주제를 다루고 있으니 페이스북을 통해서 교육 소식을 접하시고 필요하시면 신청하면 좋을 것 같습니다. 19년 08월에 진행한 교육 내용은 아래의 github을 참고 해주세요~

Website

GitHub


구글의 코랩(Colab) 서버는 구글이 제공하는 Jupyter notebook입니다. 막상 기계학습과 딥러닝을 진행하려 하다 보면 적절한 환경부터 세팅이 안 되어 있거나, 가지고 있는 컴퓨터의 성능이 좋지 않아 시작부터 어려움을 느낄 때가 있습니다. 그러나 Colab을 이용하면 인터넷 환경만 갖춰진다면 어떠한 컴퓨터 심지어 태블릿으로도 실습이 가능해집니다. 구글 계정만 있으면 무료일 뿐만 아니라 딥러닝 구현 시 GPU도 몇 번의 클릭으로 연동할 수 있어서 연산속도도 빠르게 됩니다. 잘 만든 Jupyter는 그 자체만으로도 나만의 문서가 될 수 있으니, 시간이 될 때 잘 작성된 블로그나 문서를 보고 연습하시길 추천합니다.
(특징 : Jupiter notebook 환경 제공, 무료, GPU 사용 가능, 구글 드라이브와 연동 가능)

Colab deeplearning tutorial


이 부분은 다른 파트와는 달리 완벽히 이론적인 부분입니다. 기계학습의 기원은 전산학, 컴퓨터 공학, 통계학 등 다양한 곳으로부터 발전했다고 합니다. 이는 결국, AI를 통찰하기 위해선 수학이 기본이 되어야 함을 이야기합니다. 얼마나 깊이 공부해야 하는가는 목표에 따라 다르겠지만, 세부적인 수식까진 아니더라도 전체적인 계산 흐름 정도는 알아야 해석할 수 있어야 자신의 데이터에 맞는 디버깅 또는 최적화가 가능하다 생각해요. 그러기 위해서는 앞서 언급한 통계학(기초통계학, 회귀분석, 선형대수학)과 미분학이 어느 정도 뒷받침되어주어야 합니다.

간단한 예를 들어 볼게요. 기계학습 및 딥러닝에선 손실함수(Cost function 혹은 Loss function)의 최소화가 목적입니다. 이때 주로 드는 예시가 MSE(Mean Squared Error, 평균제곱 오차)방법입니다.


Cost함수 : Mean squared error
(출처 :
https://en.wikipedia.org/wiki/Mean_squared_error)

MSE를 최저로 만들기 위해 weight를 최적화 방법으로 업데이트 해 나가는 것이 기계학습 및 딥러닝의 핵심 원리입니다. 이때의 optimizer로는 Gradient descent(경사 하강법)가 있을 수 있고요. 이때 만약 여러분이 통계학적 지식이 있다면 방금 예시와 설명만으로도 내부적인 흐름이 느껴지실 겁니다. 예를 들면 MSE는 결국 (실측치-예측치)의 평균이고 이 값은 예측이 잘될수록 0에 수렴할 테니 MSE의 정의가 타당해 보일 것이고요. y^ = wx + b 라고 단순 선형이라고 가정한다면 MSE는 w에 대해 2차 함수로 나타날 것이며 아래처럼 곡선 형태임이 예상됩니다. 결국, 이 함수의 기울기가 0인 지점의 weight 값이 최적이 될 테고, '데이터가 들어올 때마다 일정량만큼 최적의 weight를 향해 수렴해 가는 방식이겠구나'라고 생각할 수 있습니다.

여기서 제가 생각한 것은 단지 과정의 흐름입니다. 실력이 좋으신 분은 손으로 직접 풀어가며 계산도 가능하겠죠. 하지만 그렇게까지는 아니어도 내부적인 흐름만 알더라도 기계학습이 한층 재미있어질 것입니다. 아무래도 전공이 아니라면 장벽이 있고 범위도 넓어 어려움이 있겠지만, 그때마다 관련 강의나 책을 찾아보면서 차근히 익혀나가길 추천해 드려요.

통계가 완전 처음이 아니라면 전 Gareth James 저자의 ISL(An Introduction to Statistical Learning)을 추천합니다. 기계학습 입문 이론서 중 유명하고 인기가 있습니다. 아래 사이트에서 PDF를 내려받을 수 있고요(물론…. 영어지만요). 2016년에는 '가볍게 시작하는 통계학습'이란 번역서로 출판하기도 했습니다.

Website & PDF교재



요즘 이미지와 관련된 분석들이나 자동화 기술은 CNN이 활발하게 이루어진 때부터 '모두 딥러닝 아니야?'라고 생각할 수도 있을 만큼 딥러닝 기술이 널리 이용되고 있어요. 그러나 좀 더 실생활 혹은 실용적인 프로젝트를 운영한다면 딥러닝 부분은 프로젝트 일부분이고 많은 부분이 이미지 프로세싱으로 접근 가능하다는 것을 알게 됩니다. 이미지 프로세싱은 말 그대로 사진 또는 영상에 여러 연산을 접목해 새로운 사진 및 영상을 얻어내는 기법을 뜻하는 데요. 화질 개선 및 복원, 영역 추출, 객체 검출, 회전, Perspective transformation 등 많은 이미지 처리 작업에 적용할 수 있습니다.



Perspective Transformation 기술




Camera calibration 기술

Website

당연히 전공이 아니라면 거부감이 있는 주제긴 하지만 어떠한 주제들이 있는지 이해하고 있는 것만으로도 딥러닝 관련 프로젝트를 더욱 완벽히 만들 수 있을 겁니다. 이미지 프로세싱을 위해선 scikit-image 또는 openCV라는 모듈이 가장 잘 알려진 모듈입니다. 아래 있는 사이트에서 예제와 내용을 꽤 자세히 설명해주고 있으니 다양한 주제를 접해보는 경험도 좋을 거라 생각됩니다.



마치며


인실리코젠에서 기계학습을 이용한 마커 선발과 모바일 이미지를 이용한 segmentation 딥러닝과 관련된 프로젝트에 참여하고 있다 보니 가끔 교육, 학회 및 워크숍에서 저에게 실무자 혹은 학생분들이 다음과 같은 질문을 하곤 했습니다.

  • ‘기계학습은.. 뭘 이용하셨나요?’
  • ‘딥러닝은.. 어떻게 하셨나요?’

저 짧은 질문에선 ‘나도 공부하고 싶은데 아직 방향을 모르겠네요’라는 마음의 소리가 들리는 듯했어요. 저도 저 답답함 속에서 맨땅에 헤딩하는 심정으로 이리저리 정보의 홍수를 탐험하던 때가(아직 진행형일 수 있겠네요.) 있었으니까요. 재미있어서 공부하다가 '내가 파고 있던 우물이 한강이구나'를 느끼면서 뒤를 돌아보는데 우물이 어딨는지 찾고 있는 분들을 보았고 그분들을 위해 이 블로그가 하나의 좌표가 되었으면 합니다.

더 많은 예제도 많겠지만 본 블로그는 AI 공부를 위해 다음과 같은 주제들이 언제 어떻게 쓰이는지를 보여주며 필요성만을 강조하고 싶었어요. 언제 어떻게 쓰이는지 모르는데 하나씩 파고드는 건 괴로운 일이 될 수도 있으니까요! 좋은 사이트 및 레퍼런스를 소개했으니 기계학습과 딥러닝에 입문하시는 분들께 도움되었으면 합니다. 모두 화이팅!!

작성 : Data Science Center 형기은




Posted by 人Co

2019/12/05 16:39 2019/12/05 16:39
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/332

JavaScript Framework



"웹 로딩 속도 1초에 아마존 매출 68억 달러 달렸다."라는 인터넷 기사를 보신 적이 있으신가요?
웹페이지 로딩 타임이 매출에 영향을 끼친다는 내용의 기사인데요, 로딩 타임에 영향을 받는 건 비단 아마존뿐만이 아닌, 모든 웹서비스에 대한 공통적인 이슈일 것입니다. 그럼 로딩 타임을 줄이는 데 도움을 줄 JavaScript Framework에 대해 알아볼까요?


등장 배경


안드로이드, 아이폰과 같은 모바일 시대가 대두함에 따라 렌더링 방식은 새로운 국면을 맞이했습니다. 전통적인 서버사이드 렌더링 방식(ASP, PHP, JSP)에서 클라이언트사이드 렌더링으로 렌더링 방식의 변화를 맞이한 것입니다.

이미 고정된 페이지를 리턴하므로 모바일 페이지를 만들기 위해서는 모바일 사이트를 별도로 만들어야 합니다. 즉, 웹용 사이트, 모바일용 사이트 이렇게 두 개를 만들어야 했습니다. 이 형태도 아이폰과 안드로이드에서 웹앱 형태로는 개발할 수 있지만 네이티브 형태로는 만들기가 불가능해집니다. 그래서 서버는 REST api만 제공해주고 클라이언트가 json 데이터를 렌더링해서 만드는 방식이 사용되는 SPA(single-page application, 스파)가 등장합니다.

SPA는 서버로부터 완전한 새로운 페이지를 불러오지 않고, 현재의 페이지를 동적으로 다시 작성함으로써 사용자와 소통하는 웹 애플리케이션이나 웹사이트를 의미합니다. Gmail, Google 지도, Facebook 또는 GitHub 등이 SPA의 대표적인 사이트입니다.
서버사이드 렌더링 방식과 클라이언트사이드 렌더링 방식의 우열을 가리기보다는 각각의 장단점을 살핀 후 사이트의 성격에 맞게 렌더링 방식을 선택하면 되겠습니다. SPA는 마크업과 데이터를 요청하고, 브라우저에 페이지를 바로 그립니다. 이런 것들을 가능하게 해주는 대표적인 JavaScript Framework 3대장인 Angular, React, Vue.js에 대해 알아봅시다.


[그림1] e-nor 블로그
(출처: https://www.e-nor.com/blog/google-tag-manager/tracking-single-page-applications-with-google-tag-manager)


Angular


[그림2] Angular 홈페이지 (출처: https://angular.io/)

  • 배경 : Google이 2010년에 출시했습니다. 타입스크립트 기반 JavaScript Framework입니다. 현재는 Angular라고 불리지만 2016년 전에는 이름에 접미사 JS가 있었습니다. JS는 Angular 2+ 출시 후 이름에서 삭제되었습니다. 2019년 5월 28일, 최신 버전인 Angular 8.0.0이 출시되었습니다. Google과 Wix는 Angular를 사용하는 가장 인기 있는 회사 중 하나입니다.

  • 성능 : Angular는 실제 DOM을 사용합니다. 문제가 발생하면 문제를 찾기 위해 코드에 깊이 들어가야 하므로 처리하기가 매우 어렵고 문제를 고치는데 많은 시간이 소요되어 버그를 유치하게 되는데 이는 위험합니다. Angular의 실제 DOM 사용은 동적 소프트웨어 응용 프로그램을 만드는 성능과 기능에 영향을 주어 느려지게 만듭니다.

  • 특징 : Angular는 템플릿에서 테스트 유틸리티에 이르기까지 개발자에게 많은 것을 제공합니다. 따라서 경량 응용 제품에는 적합하지 않습니다. 라우팅에서 템플릿까지 모든 것을 제공하기 때문에 응용 프로그램을 개발하기 위해 다른 도구를 이용할 필요가 없습니다. 응용 프로그램을 구성하는 방법에 대한 의견이 있습니다. 라우팅 라이브러리를 얻거나 선택할 필요가 없습니다. Angular 패키지에 제공된 모든 것을 사용하여 코딩 프로세스로 시작할 수 있습니다

React


    [그림3] React 홈페이지 (출처: https://reactjs-kr.firebaseapp.com/

    • 배경 : Facebook에서 2013년에 출시되었습니다. Facebook과 같은 트래픽이 많은 웹 사이트에서 주로 사용됩니다. Facebook 광고가 트래픽을 얻기 시작하고 코딩 및 유지 관리에 문제가 발생하여 특정 문제를 해결하기 위해 개발되었습니다. 최신 버전인 16.8.6은 2019년 5월 6일에 릴리스 되었습니다. WhatsApp, Instagram Paypal, Glass door, BBC는 React를 사용하는 인기 있는 대표적인 회사입니다. React는 매우 동적이며 대화식 사용자 인터페이스를 만드는 데 큰 도움이 됩니다.

    • 성능 : 이 Javascript 라이브러리는 가상 DOM을 사용하고 있습니다. 브라우저에 따라 다르고 가벼울 수도 없습니다. React 패키지로 무료로 제공되며 실제 DOM의 성능 저하 문제를 제거합니다.

    • 특징 : 경량 응용 분야에 적합합니다. Angular와 달리 공식 React는 라이브러리를 많이 제공하지 않습니다. 이를 통해 원하는 프로그래밍 도구를 자유롭게 선택할 수 있습니다. React 라우팅과 같은 타사 솔루션을 이 자바 스크립트 Framework와 통합할 수 있습니다. 이외에도 MobX 및 Redux를 사용하여 사무실 관리 작업을 지원할 수 있습니다. 경험이 풍부한 최고의 소프트웨어 개발자를 고용하면 이러한 유연성을 크게 누릴 수 있습니다. 또한, 비즈니스를 위해 개발된 놀랍고 역동적인 응용 프로그램을 개발할 수 있습니다.



     Vue



    [그림4] Vue.js 홈페이지 (출처:
    https://kr.vuejs.org/)

    • 배경 : 2014년에 출시되었으며, React 및 Angular의 개발사 Facebook과 Google과 같은 큰 회사에 의해 개발되지 않은 진보적인 JavaScript Framework입니다. Google의 전 엔지니어인 Evan You가 만들었으며, 꾸준한 인기를 얻고 있습니다. 최신 버전; 버전 2.6.10은 2019년 3월 20일에 릴리스 되었습니다. Javascript Framework 제품군의 가장 역사가 짧은 Framework입니다. GitLab 및 Alibaba와 같은 웹 사이트는 Vue를 사용하고 있습니다.

    • 성능 : Vue는 이전에 시작된 Framework의 모든 좋은 속성을 취했습니다. 같은 개념으로 Vue는 Virtual DOM을 채택된 React 개념으로 사용합니다. 이것은 더 빠르고 버그 없는 성능을 보장합니다.

    • 특징 : 경량 응용 분야에 적합합니다. Vue.js 생태계는 개발자에게 많은 것을 제공합니다. 추가 기능 중 일부는 라우팅을 위한 Vue 라우터이며 상태 관리를 위해 Vuex가 있습니다. 또한, 응용 프로그램의 서버 쪽 개발을 시작하기 위한 Vue서버 쪽 렌더가 있습니다. 따라서 Angular만큼 의견이 많지 않고 React만큼 유연하지는 않습니다.

    결론
    • Vue.js와 React는 Angular보다 우수한 성능과 유연성을 제공합니다.
    • Vue와 React는 가벼운 응용 프로그램에 더 적합하며 Angular는 큰 UI 응용 프로그램에 가장 적합합니다.
    • Angular는 Vue 및 React와 달리 의견이 많으며 라우팅, 템플릿에서 패키지의 테스트 유틸리티에 이르기까지 모든 것을 제공합니다.
    • Vue는 가장 인기 있고 사랑받고 성장하는 Javascript Framework입니다.



    [참고]
    FED팀 (Front-End Development)
    진효빈 주임




    Posted by 人Co

    2019/11/22 13:28 2019/11/22 13:28
    Response
    No Trackback , No Comment
    RSS :
    https://post-blog.insilicogen.com/blog/rss/response/331



    « Previous : 1 : ... 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : ... 38 : Next »