최근 여러 분야에서 딥러닝에 대한 관심이 많아지고 있습니다.
생물정보 분야에서는 MRI나 CT 같은 의료 이미지로 학습한 뒤, 질병을 진단하는 연구가 많이 진행되고 있습니다. 그렇다면 이미지를 이용한 딥러닝은 어떤 방식으로 진행될까요?

이미지 딥러닝은 어떠한지 알고 싶어도 코드 위주의 설명이 많아, 코드가 익숙하지 않은 분들은 시작부터 벽이 세워진 느낌이 드셨을 거예요.
코드가 익숙하신 분이시든 그렇지 않은 분이시든 이미지 딥러닝의 입문자분들께 개념 잡는 것에 대해 조금이나마 도움이 되셨으면 하여 알고리즘 개념 설명 위주로 이 글을 준비하였습니다. 그럼 이미지 딥러닝을 하기 위한 알고리즘에 대해 알아보기에 앞서, 컴퓨터는 이미지 파일을 어떤 방식으로 인식하는지에 대해 알아볼까요?
 
 


우리가 이미지를 인식하는 방식과 컴퓨터가 이미지를 인식하는 방식은 많이 다릅니다. 우리는 이미지를 눈에 보이는 모습을 그대로 받아들이지만, 컴퓨터의 경우는 숫자로 된 형태로 인식합니다. 숫자는 색의 명암을 나타내며, 0에 가까울수록 어두운색이고 255에 가까울수록 밝은색입니다. 그렇다면 색상은 어떻게 표현할까요? 흑백 이미지의 경우에는 1개의 채널로, 컬러 이미지의 경우엔 RGB(R-Red, G-Green, B-Blue) 3개의 채널로 빨강, 초록, 파란색 각각의 명암을 이용하여 이미지의 색상을 표현합니다.


[그림 1] 컬러 이미지의 구조 - Insilicogen (IX Team)

컬러 이미지는 각 픽셀을 채널별로 실수로 표현된 3차원 데이터입니다. 흑백 이미지는 2차원 데이터로, 1개의 채널로만 구성되어 있습니다.
[그림 2] 컬러 이미지의 3차 구조
위의 그림처럼 높이가 4 pixel, 폭이 4 pixel의 이미지일 경우,
 
컬러 이미지 데이터의 shape은 (4, 4, 3)
흑백 이미지 데이터의 shape은 (4, 4, 1)
 
로 표현합니다.
 
컴퓨터가 이미지를 어떤 방식으로 인식하는지에 대해 간단하게 알아봤습니다. 그럼 이제 이미지 딥러닝에선 어떤 알고리즘이 주로 사용되는지 알아볼까요? 딥러닝을 이용하여 이미지를 분류할 때에는 주로 CNN(Convolutional Neural Network) 알고리즘이 많이 사용되고 있습니다. 그렇다면, 이 CNN 알고리즘이 나오기 이전에는 어떻게 학습을 했을까요?
 

  
 
CNN 알고리즘 이전에는 Fully-connected Multi-layered Neural Network의 학습 방식을 이용하여 이미지 딥러닝을 수행했습니다.
 
[그림 3] Fully-connected Multi-layered Neural Network
형상을 가졌는지에 대해 알 수 없고, 각각의 픽셀을 1차원적으로 보게 됩니다. 이러한 학습 방식으로 인하여 이미지의 크기가 커져서 픽셀의 수가 많아진다거나 은닉층(Hidden layer)의 수가 증가하면 학습시간 및 학습해야 하는 매개변수(Parameter)의 수가 기하급수적으로 증가하게 됩니다. 또한, 이미지가 살짝 회전되었거나 gif처럼 이미지가 움직이는 상태라면 이를 같은 이미지라고 인식하지 못하므로, 조금이라도 변화가 생길 때마다 새로운 입력으로 이미지 데이터를 처리해 주어야 합니다. 그럼 이미지를 분류하기 위해 Fully-connected 학습 방식처럼 이미지의 모든 픽셀이 꼭 중요할까요? 그렇지 않습니다. 이미지의 특성을 찾는 데에 중요하게 작용하는 픽셀이 있지만, 단순히 배경인 부분이라 픽셀 정보를 가지고 있지 않더라도 이미지를 구분하는 데 큰 영향을 주지 않기 때문입니다. 이미지 분류를 하는 데 중요하지 않은 픽셀은 제거하고 학습을 하기 위해 고안된 알고리즘이 바로CNN(Convolutional Neural Network)입니다.
 

 
 
그렇다면 CNN 알고리즘은 어떠한 구조를 이루고 있을까요?
 
 
[그림 3] CNN 알고리즘의 구조
 
CNN은 크게 이미지의 특징을 추출하는 부분과 클래스를 분류하는 부분으로 나뉩니다. 특징 추출 영역은 합성곱층(Convolution layer)과 풀링층(Pooling layer)을 여러 겹 쌓는 형태(Conv+Maxpool)로 구성되어 있습니다. 그리고 이미지의 클래스를 분류하는 부분은 Fully connected(FC) 학습 방식으로 이미지 분류를 합니다.
 

 
 
합성곱이란, 주어진 이미지 데이터를 합성곱 필터(Convolution filter)를 통해 이미지 분류에 중요하게 작용할 feature들을 추출하는 데 사용됩니다. CNN 알고리즘 이전에 사용되었던 FC 알고리즘과 달리, 이미지의 형태를 유지하기 때문에 합성곱층을 지나더라도 인접한 픽셀에 대한 정보를 알 수 있습니다. 그렇다면, 합성곱에서 사용되는 합성곱 필터는 무엇일까요? 우선, CNN에서 필터는 커널(Kernel)이라고도 합니다. 필터는 이미지의 공용 매개변수(weight)로 작용하며, 주어진 이미지를 슬라이딩하면서 이미지의 feature들을 찾아냅니다. 여기서 공용 매개변수라고 하는 이유는 합성곱을 진행할 때, 하나의 이미지에 대해서 하나의 필터가 사용되기 때문입니다. 일반적으로 (3, 3)이나 (4, 4)와 같은 정사각 행렬로 정의가 되고, 주어진 이미지를 지정된 간격(Stride)만큼 순회합니다. 그럼 합성곱 필터를 이용하여 합성곱 연산은 어떤 방식으로 진행되는지 알아보기 위해, 아래의 그림으로 설명하겠습니다.
 
 
[그림 5] Convolution 연산
 
위의 그림에서 주어진 이미지 데이터의 크기는 6x6이고, 필터의 크기는 3x3입니다. 이미지를 순회하는 간격(stride)은 1입니다. 연산은 이미지와 필터가 서로 겹쳐지는 부분은 곱을, 각각의 곱은 합하는 방식으로 진행됩니다. 위의 그림에서 Result 아래에 적힌 연산을 참고하시면 이해가 더 쉬우실 거예요.
 
Fig6.Convolution_layer.gif
 
위의 그림은 합성곱 연산이 진행되는 방식입니다. 이 그림 역시 필터가 이미지를 순회하는 간격은 1입니다. 이처럼 합성곱을 진행하여 얻어진 결과를 피처맵(Feature Map, 위의 그림에서는 오른쪽의 분홍색)을 만듭니다. 여기서 피처맵은 주어진 이미지에서 특징들을 추출한 것이고, 액티베이션맵(Activation Map)이라고도 합니다. 피처맵은 여러 가지의 의미로 사용되지만, 액티베이션맵은 주로 합성곱층의 최종 출력 결과를 의미합니다.

합성곱층에서 필터와 스트라이드의 작용으로 이미지(피처맵)의 크기는 입력 데이터보다 작아지게 됩니다. 그렇다면 합성곱층을 지나면 이미지가 자꾸 줄어드는데, 계속 반복적으로 합성곱층을 지나면 이미지가 없어지지 않을까? 라는 생각이 들게 되죠. 이를 방지하는 방법이 패딩(Padding)입니다. 패딩은 입력 데이터의 외각에 지정된 픽셀만큼 특정 값으로 채워 넣는 것을 의미하고, 보통 0으로 값을 채워 넣습니다.
 

 
 
위의 그림을 보면, 3x3 이미지의 외각에 0이 채워진 것을 볼 수 있습니다.
 
 

 
[그림 8] Pooling
지금까지 합성곱에 대해서 알아보았습니다. CNN 알고리즘에서 이미지 특징을 추출하는 부분에서 합성곱층 다음으로 나오는 층은 풀링층(Pooling layer)입니다. 합성곱층의 출력 데이터(액티베이션 맵)를 입력으로 받아, 출력 데이터의 크기를 줄이거나 특정 데이터를 강조하는 용도로 사용됩니다. 풀링층을 처리하는 방법으로는 Max, Average, Min Pooling이 있습니다. 정사각 행렬의 특정 영역 안에 값의 최댓값, 평균 혹은 최솟값을 구하는 방식이고, 주로 Max Pooling을 사용합니다. 앞의 합성곱처럼 인접한 픽셀값만을 사용한다는 것은 비슷하지만, 합성곱처럼 곱하거나 더하는 연산 과정이 없어서 학습이 필요한 부분이 없고 입력 데이터의 변화에 영향을 적게 받습니다. 이는 최댓값, 평균값, 최솟값 중 하나를 구하는 것이기 때문에, 입력 데이터가 조금 변하더라도 풀링의 결과는 크게 변하지 않습니다.
  

 
 
앞에서 설명해드렸던 바와 같이, CNN은 크게 특징 추출(Feature extraction) 부분과 분류(Classification) 부분으로 나뉩니다. 특징 추출은 합성곱층과 풀링층이 반복적으로 수행되고, 분류는 앞에서 추출된 Feature들이 Fully-connected layer 학습 방식을 이용하여 어떤 이미지인지 분류합니다.
 
참고) 학습시킬 이미지가 부족하시다면! 이미지 학습을 위한 open data source
 
이미지 분류하기 위해 이미지를 학습시킬 때, 하나의 클래스(ex. 강아지 클래스, 고양이 클래스)당 최소 1,000장이 필요합니다. 학습을 많이 시키면 많이 시킬수록 이미지를 분류하는 정확도는 당연히 올라갑니다. 그렇다면, 이미지 학습을 하기 위해서 많은 양의 이미지 데이터가 필요하겠죠? 딥러닝이 활성화되면서 공개 이미지를 수집하는 데이터베이스가 많아졌고, 대표적으로 ImageNet과 Kaggle 등이 있습니다. 이미지를 학습하는 데 필요한 이미지 데이터를 공개적으로 제공하는 사이트이므로, 아래 사이트를 들어가시면 이미지 딥러닝 활용에 여러 방면으로 도움이 될 것입니다. :)
 

[그림 9] ImageNet
(http://www.image-net.org/)


[그림 10] Kaggle
(https://www.kaggle.com/)


CNN 알고리즘에 대해서 더 자세하게 설명해 드리고 싶었지만, 그러면 본 취지에 맞지 않을 것 같았어요. 제가 생각하기에 이미지 딥러닝의 입문자분들께 가장 필요한 부분 위주로 이 글을 작성하였습니다. 이 글에 적힌 것들을 바탕으로 궁금한 부분이 생길 때마다 조금씩 조금씩 자료를 찾다 보면, 깨닫지 못한 사이에 이미지 딥러닝에 대해 많이 알게 되실 거예요. 조금이나마 도움이 되셨길 바라며, 너무 두려워하지 마시고 힘내시길 바랍니다. :D
 
 

Posted by 人Co

2020/06/01 19:28 2020/06/01 19:28
, , ,
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/346

p-value(유의 확률)의 역설



전 세계 30만 명이 넘는 확진자와 증가세를 보이는
코비드-19(COVID-19, Corona virus disease 2019)!
세계보건기구 WHO가 최고 경보단계 '팬데믹(pandemic)'을
선언한 지금 어느 때보다 바이오 연구가 높은 관심과 집중을 받고 있습니다.
오늘은 이와 관련한  p-value에 대해 알아보도록 하겠습니다!
 
먼저 p-value란 무엇일까요? 불과 서너 달 사이 코비드-19와 관련하여 출판된 논문만 1만여 편에 달하는데요. (국제 코비드-19 연관 연구 현황) 확산세 경감과 치료제, 백신 개발 등 다양한 생명연구에서 사용되는 통계지표 p-value! 그 정의부터 연구사례까지 차근차근 보겠습니다!

p-value 정의
p-value(유의 확률, significance probability)
p-value는 '귀무가설(Null hypothesis)이 맞는다고 가정할 때 얻은 결과보다 극단적인 결과(관측 결과)가 나타날 확률'로 정의됩니다. 일반적으로 p-value < 0.05 혹은 0.01을 기준으로 합니다. 계산된 p-value가 기준값보다 작은 경우 귀무가설을 기각하는 것으로 즉, 극단적으로 귀무가설이 일어날 확률이 매우 낮은 상태를 의미합니다.
 
단측검정(위 : left-tail p-value, 아래 : right-tail p-value)



코비드-19 연구 단측검정 사례 : 지난 3월 19일에 한국방사선학회지(Korean J Radiol)에 게재된 논문입니다.(Korean J Radiol, 2020) 이 연구의 가설은 '코비드-19 감염 천식 증상을 보이는 환자 중 폐섬유화(fibrosis)가 나타난 경우는 나이가 많을수록 높다.'는 것입니다. 귀무가설은 '환자 중 섬유화가 일어난 사람과 일어나지 않은 사람의 평균 연령은 같다.' 입니다 . 여기서 세워진 가설은 '섬유화가 같이 일어난 환자의 평균 나이가 일어나지 않은 환자보다 많다.' 라고 할 수 있습니다. 이렇게 대립가설에서 '높다.' 혹은 '낮다.' 라는 방향성이 있는 경우 우리는 단측검정을 사용합니다.
 
양측검정



[출처] 유의 확률

코비드-19 연구 양측검정 사례 : 지난 2월 Cell Discovery에 게재된 논문입니다. ACE2 라는 SARS-coronavirus 수용체 단백질의 서열이 인종 별로 차이가 있는지를 확인한 연구입니다.(Cell Discov, 2020) 귀무가설은 인종 간 단백질 서열의 '차이가 없다.'이고 대립가설은 '차이가 있다.' 입니다. 이렇게 우리가 주장하는 가설의 방향성이 정해지지 않았을 때 우리는 양측검정을 사용할 수 있습니다.
 
미국통계학회(ASA, American Statistical Association) 2016 성명서
우리는 연구 과정에서 수립한 가설을 증명하기 위한 척도로 p-value를 사용합니다. 즉, 가설이 참인지 거짓인지를 가려내는 갈림길에 서게 되는 것이죠. 앞서 '극단적인 결과가 실제로 관측될 확률' 부분을 잘 읽어보세요! p-value=0.05라는 것은 귀무가설을 참이라고 가정할 때 대립가설에 따른 결과가 우연히 일어날 확률이 5%라는 것을 의미할 뿐, p-value 그 자체로는 어떤 가설의 참/거짓 여부를 판단하는 지표가 될 수 없다는 것이죠.
 
2016년 3월 미국통계학회는 이러한 과학자들의 p-value에 대한 의존성에 일침을 가합니다.
성명의 6가지 원칙 원문:미국통계학회, 2017
1. P-values can indicate how incompatible the data are with a specified statistical model. 
 - P-value는 주어진 데이터가 얼마만큼 통계모델을 따르지 않는지를 나타낼 수 있다.
2. P-values do not measure the probability that the studied hypothesis is true, or the probability that the data were produced by random chance alone.
 - P-value는 대립가설이 참일 확률, 또는, 우연히 발생할 확률을 측정하는 값이 아니다.
3. Scientific conclusions and business or policy decisions should not be based only on whether a p-value passes a specific threshold.
 - 어떤 과학적, 정책적인 결론의 근거로 p-value만을 그 지표로써 사용해서는 안 된다.
4. Proper inference requires full reporting and transparency.
 - 합당한 추론을 위해 완전한 보고와 투명성이 보장되어야 한다.
5. A p-value, or statistical significance, does not measure the size of an effect or the importance of a result.
 - p-value는 연구 결과에 중요성이나 효과의 크기를 측정한 값이 아니다.
6. By itself, a p-value does not provide a good measure of evidence regarding a model or hypothesis. 
 - p-value 자체만으로는 모형 또는 가설에 대한 좋은 증거가 되지 못한다.


논지는 'p-value 자체는 내가 세운 가설이 참인지 거짓인지를 판단하는 근거의 하나일 뿐이다.' 입니다. 즉, 이 값이 나의 연구 결과의 중요성이나 효과의 크기를 설명하는 데 있어서 어떤 근거를 제시하지 않는다는 것입니다. 여기서 오해하시면 안 됩니다. 미국통계학회는 p-value가 갖는 의미를 곡해하지 말고 본 의미에 맞게 사용하고 해석하자는 것이 핵심입니다. 통계 도구를 사용하는 많은 사람이 쉽게 빠지게 되는 오류중의 하나인 '확실성'에 대한 추종은 그동안 p-value를 일종의 절대적 지표로써 사용되게 하였습니다.

p-value의 오용
그렇다면 우리가 겪을 수 있는 p-value에 의존한 결론 도출이 가져오는 오류는 어떤 것들이 있을까요? 아래 두 가지 오류를 살펴보도록 하겠습니다.

1. 2종 오류(Type II error)로 인한 실제 의미 있는 결과의 배제
2. 기준점 5%를 맞추기 위한 지나친 표본 수의 증가

첫 번째 오류는 이렇습니다. 질병 A 환자군과 정상인 군에서 유전자 B 발현 값 평균을 검정한 결과 p-value=0.06가 나왔다면 우리는 유전자 B와 질병 연관성이 없다고 결론을 내려왔습니다. p-value의 정의로 해석해보면 다음과 같습니다. '질병 A 환자군과 정상인의 유전자 B 발현 값 평균이 같을 확률은 6%이다. = 100번의 테스트 중 6번의 결과가 A, B에서 동일하게 확인되었다.' 뭔가 이상하지 않나요? 전자는 p-value 0.05 이하의 경우 유(有) 의미(반대로 p-value 0.05 초과는 무(無)의미)하다는 확정성에 근거하여 질병 A와 유전자 B 연관성을 부정하였습니다. 하지만 실제로 4%, 5%, 6%가 유/무의미를 결정지을 만큼의 절대적 기준이 될 수 있을까요?
두 번째 오류는 먼저 p-value 계산에 사용되는 통계치인 Z 통계치(Z statistic) 산정식입니다.



뭔가 이상한 점을 찾으셨나요? 바로 'n' 표본 수입니다. 동일한 표본 평균과 분산을 가질 때 이 n이 커지게 되면 p-value는 낮아지지는 경향이 있습니다.

마무리
이번 글에서는 통계학에서의 p-value의 의미와 해석 방법 그리고 오용했을 때 발생할 수 있는 오류에 대해 살펴보았습니다. 어떠신가요? 그동안 여러분들을 옭아매던 p-value < 0.05의 굴레에서 벗어나셨나요? 생물학에는 정말이지 셀 수조차 없는 변수들이 존재합니다. 그중에서 질서를 찾기 위해 하나의 지표로써 p-value는 분명히 의미를 갖습니다. 통계 도구의 올바른 적용과 해석으로 가치 있는, 즐거운 연구 되시기를 바랄게요~!

참고문헌

작성자 : RDC 경동수 주임

Posted by 人Co

2020/03/25 16:11 2020/03/25 16:11
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/341

인공지능(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

유연해야 산다(Content is like water)

반응형 웹이란 하나의 url로 다양한 디바이스를 통해서 접속했을 때, 접속하는 디바이스 종류에 따라 화면크기가 자동으로 다양한 디바이스 크기에 최적화되어 사용자들에게 보이는 웹페이지 접근 기법을 말합니다.


사진출처 : 위키피디아

이해를 돕기 위해 간단한 예를 들겠습니다. 테이블 위에 와인 잔, 티포트, 허리가 가는 유리 꽃병이 있는데 그 안에 물을 부으면, 물은 각 용기의 모양에 따라 담길 것입니다. 여기서 각 용기는 디바이스 즉 데스크톱, 태블릿, 모바일 기기를 의미하며, 물은 사이트의 콘텐츠를 의미합니다.

반응형 웹에서는 고려해야 할 요소가 두 가지가 있는데, 해상도와 이미지 블러링 현상입니다.
첫 번째, 해상도란 화면 또는 인쇄물 등에서 표현된 그림이나 글씨 등이 섬세하게 표현된 정도를 나타내는데, 픽셀 수가 많아질수록 해상도가 높아집니다. 한정된 공간 속에 더 많은 픽셀(디스플레이를 구성하는 가장 작은 단위)이 있다면, 그만큼 더욱 콘텐츠를 선명하고 섬세하게 표현할 수 있습니다.


사진출처 : (주)인실리코젠

두 번째, 이미지 블러링 현상은 해상도 차이에 따라 발생하는 현상입니다. 데스크톱을 기준으로 만든 이미지가 모바일 화면에서 보았을 때 화질이 선명하지 않은 경우가 종종 있는데, 이는 데스크톱과 모바일 화면의 해상도 차이로 인해 발생합니다. 이미지 블러링 현상을 방지하기 위해서는 모바일 사이즈를 고려하여 원본 이미지의 1.5~최대 2배가량의 크기로 제작해야 합니다.

그렇다면 반응형 웹을 기획할 때는 어떻게 해야 할까요?? 먼저 데스크톱 사이즈보다 모바일 디바이스 사이즈가 작다는 것을 인지하여, 콘텐츠의 그리드(혹은 레이아웃)를 구성해야 합니다.


사진출처 : http://24h3vq.axshare.com/#p=home

반응형 웹을 구현하기 위해서는 분기점 설정이 필요합니다. 분기점 설정이란 내가 어느 지점에서 화면 레이아웃을 바꿔줄 것인지 설정하는 것을 말합니다. 분기점 미 설정 시 나타나는 문제점을 예를 들어보겠습니다. 직장인 A 씨는 핸드폰으로 N 사이트에서 모바일 쇼핑을 하려고 하는데 상품 이미지와 상품정보가 잘려서 쇼핑을 할 수가 없었습니다. N 사이트는 분기점 지정을 하지 않았기 때문이었죠. 직장인 A 씨가 N 사이트에서 쇼핑할 수 있는 방법은 데스크톱에서 PC 버전으로 쇼핑하는 방법 밖에 없습니다.

자아! 그럼 반응형 웹이 적용된 사이트를 보시겠습니다. 인실리코젠 홈페이지의 경우 분기점을 3가지로 적용하였습니다. 반응형으로 제작했기 때문에 하나의 URL로 모바일, 태블릿, 데스크톱으로 접속해도 해상도에 구애받지 않고, 알맞은 크기로 사이트의 레이아웃과 정보를 구독할 수 있습니다. 모바일 기기에서 가로 또는 세로로 화면을 돌리더라도 화면에 맞게 사이트의 정보가 배치됩니다. 이는 데스크톱에서 브라우저 창의 크기를 증감해도 적용됩니다. 마지막으로 유지관리 측면에서 보았을 때 관리할 코드가 한 맥락이기 때문에 유지관리하는데 효율적입니다.


사진출처 : (주)인실리코젠 홈페이지(http://insilicogen.com/)

마치며...
현재 세계는 디바이스 춘추 전국시대라고 칭해도 과언이 아닐 만큼 다양한 디바이스가 출몰하고 있습니다. 사용자들의 편의와 동등한 정보제공을 위해 반응형 웹 기술이 늘 정답은 아니지만 필요한 웹 기술 중 하나라고 필자는 생각합니다. 이 글을 읽고 반응형 웹에 대한 이해에 도움이 되셨기를 바라며 마칩니다. 제 글을 읽어 주셔서 감사합니다.

작성자 : PlatformLab
프론트엔드개발자  진효빈

Posted by 人Co

2017/11/03 14:53 2017/11/03 14:53
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/263

어느새 무더운 여름이 지나고 서늘한 가을이 찾아 왔습니다. 어떻게 지난 여름 잘 버티셨나요? 이번 여름은 그 어느 해 보다 더 덥게 느껴지면서 사회적으로도 누진세 같은 이슈가 화제되곤 했었습니다.
어떻게 보면 우리 (주)인실리코젠도 더위와 싸우는 기업입니다. 좀 더 정확히 말하자면 서버실에 있는 분석 및 스토리지 서버들이 더위와 맞서 싸우고 있습니다. 대용량의 생물정보 데이터 분석을 위해 수십대의 분석 서버들이 열을 내며 24시간 쉬지 않고 일을 하고 있답니다. 이 열을 제대로 식혀주지 않으면 서버들은 곧 강제 종료되고 장시간 실행중이던 분석 작업도 중단되며 저장중이던 데이터나 장비에 치명적인 문제가 발생할 수도 있습니다.
 
<열화상카메라... 가 없어서 구한 다른 서버실의 열화상 카메라 사진>
 

그러다 보니 서버실의 더운 공기를 식히고 순환시켜주는 에어컨이나 공조장치들의 역할이 중요합니다. 보통은 에어컨에 적정온도를 맞춰 두고 24시간 가동하여 이런 문제를 대비하지만 언제나 그렇듯 사고는 예상치 못할 때 발생합니다.

의외로 이런 사고는 경험상 여름보다는 겨울이나 초여름에 잘 발생했습니다. 지난 겨울에는 실외기가 너무 추운 바깥 공기에 얼어붙어 버려서 냉매의 순환에 문제가 생겨 차가운 바람이 충분히 나오지 않는 문제가 생겼습니다. 그리고 보통 겨울에는 여름보다 조금 높은 온도를 에어컨에 설정해 두는데 갑자기 더위가 찾아오는 초여름에 너무 높아진 온도에 비해 충분히 차가운 바람을 내지 못하면서 서버실의 온도가 높아진 적도 있습니다.

이런 사고를 몇 번 겪었을 무렵 세상은 IoT(Internet on Things) 열풍이 불기 시작했습니다. 그중에서도 저의 관심을 끌었던 장비가 바로 라즈베리 파이(Raspberry Pi) 입니다. 라즈베리 파이는 영국 잉글랜드의 라즈베리 파이 재단이 학교와 개발도상국에서 기초 컴퓨터 과학의 교육을 증진시키기 위해 개발한 신용카드 크기의 싱글 보드 컴퓨터입니다. 크기는 작지만 하드디스크 대신 SD카드를 사용하고 HDMI 포트로 모니터와 연결도 가능하며 LAN포트도 있어서 인터넷 연결도 되는 엄연한 컴.퓨.터 입니다.

<스마트폰 보다 더 작은 컴퓨터, 라즈베리파이>

라즈베리 파이의 장점은 일반 USB 포트뿐만 아니라 다양한 통신 포트도 제공해서 여러가지 센서들도 제어할 수 있다는 점입니다. 예를 들어서 전기 신호를 켜고 끄도록 프로그램을 만들면 발광 다이오드에 불을 켤 수도 있고, 작은 모터를 동작 시킬 수도 있습니다. 초음파 센서나 감광센서를 이용하면 누군가 센서 앞을 지나가는 것을 알 수도 있습니다. 이젠 정말 좋은 아이디어가 있으면 누구나 직접 만들어 낼 수 있는 세상이 온 것입니다.


<다양한 센서를 조합하면 구현하지 못할 아이디어가 없다>

저는 이 라즈베리 파이에 몹시 흥미를 느꼈습니다. 그리고 이 작은 컴퓨터를 이용해 회사가 겪고 있는 어떤 문제를 해결하는데 사용하고 싶었습니다. 바로 우리 서버실을 높은 온도로부터 지켜줄 수 있는 장치를 만들고 싶었습니다.

저는 이 프로젝트의 이름을 Rainbow Guard Project 라고 이름을 지었습니다.

보통 서버들은 host name이라고 부르는 별명을 가지고 있습니다. 보통은 node0, node1, node2 이렇게 이름을 짓거나 소속 기관의 영어 약자로 붙여주곤 합니다. 디자인에 강한 우리 인실리코젠은 각 서버들의 성격에 맞는 색을 이름으로 지어 줬습니다.

  • 강력한 파워를 자랑하는 분석 서버에게는 BLACK
  • CPU가 많아 언제나 많은 분석량을 자랑하는 서버에게는 RED
  • 많은 고객이 찾아오는 웹사이트를 운영하는 서버에는 GREEN
  • 테스트를 많이 해서 정신이 오락가락한 서버에게는 PURPLE

Rainbow Guard Project 이렇게 다양한 색깔의 레인보우를 지켜주겠다는 의미를 지닙니다.

<애네들이 생각 나도 모른척 하세요, 아~재 소리 듣습니다...>

Rainbow Guard Project는 크게 3부분으로 나뉩니다.

1. 서버실의 온도를 체크하고 기록
2. 특정 온도 이상으로 온도가 올라갈 경우 서버실 관리자에게 경고 메일 발송
3. 24시간 동안의 서버실 온도 현황 조회

첫 번째 기능을 위해 먼저 라즈베리 파이와 온도센서를 연결하는 작업을 진행했습니다. 기왕이면 평상시 정상 작동 때와 온도가 높을 때를 구분할 수 있도록 LED도 있으면 좋겠네요. 이런 기능을 위한 회로도를 설계해 보고 납땜질도 하면서 깔끔하지는 않지만, 동작은 하는 온도 감시 및 알림 회로를 만들어 라즈베리 파이와 연결하였습니다. 저도 V=IR이라는 공식밖에 모르지만, 열심히 구글링하고 공부하면서 만들 수 있었습니다.

<PPT로 회로 설계도면을 만들고, 겨우겨우 납땜해서 만든 모듈>

리눅스에는 crontab 이라는 스케줄러가 있는데요, 온도센서의 값을 읽어와서 저장하는 프로그램을 만든 후 이 crontab의 스케줄에 추가해 주면 정기적으로 온도 감시가 진행됩니다. 덤으로 온도가 높아 졌을때 서버실 밖에 있는 사람들이 빨리 알아챌 수 있도록 음악이 나오게 셋팅해 뒀습니다. 경고 상태에서 나오는 음악은 f(x)의 'Dangerous' 입니다. 듣기만 해도 위험한 상태라는걸 알 수 있게 해줍니다.


<원래는 마이클잭슨의 Dangerous를 재생 시키려고 했는데 음원을 못 구해서...>

경고 상태가 되면 설정된 서버실 관리자들에게 다음과 같은 메일이 발송됩니다. SMS 문자를 보낼 수도 있지만, 유료 서비스라서 메일을 보내도록 설정해 뒀습니다. 어짜피 스마트 시대에 메일이 오든 문자가 오든 틈틈이 확인하는 습관이 있어서 상관은 없습니다.

마침 이 글을 작성하는 동안 경고 메일을 수신했습니다. 앞서 말씀드린 것처럼 봄, 가을 같은 환절기에는 에어컨의 적정온도가 변경되어 간혹 이런 경고가 발생하기도 합니다. 이번에는 날씨가 선선해 지면서 건물 중앙 관리 시스템이 적정온도를 조금 높이다 보니 서버실의 온도가 높아져 경고가 발생했습니다. 서버실 자체 에어컨의 온도를 조금 더 낮춰 해결하였습니다.

<토요일 새벽 6시에 경고 메일을 받은 서버관리자가 긴급 출동하여 초기에 대처>
 

경고 알림 메일에 있는 URL을 클릭하면 지난 24시간 동안의 온도 현황을 그래프와 함께 볼 수 있는 웹페이지로 이동하게 됩니다. 이 사이트는 Python Django를 이용하여 구현하였습니다. 제가 디자인 감각은 꽝이라서 정말 필요한 정보가 보이게끔만 만들어 봤습니다. 지금은 회사 동료들과 함께 조금씩 예쁘게 업그레이드하는 중입니다.


<저의 html 레벨은 15년 전에 멈춰 있습니다...
(그렇다고 배경에 보노보노를 넣고 싶진 않았어요 ㅠㅠ)>


이렇게 경고 알림 메일을 받으면 몇몇 직원들이 급히 서버실로 출동하여 상태를 점검하고 위기의 우리 서버들을 더위로부터 구출해 냅니다. 제가 납땜질이 서툴러서 회로의 한 부분이 끊어져 잠시 운영하지 못한적도 있지만 지금은 24시간 서버실에서 제 역할을 하고 있는 중입니다.


<일부러 서버실에서 더운 곳에 둬서 빨리 경고가 울리도록 설치>
 
위에서도 잠시 언급했지만 저는 주입식 교육을 통해 V=IR이라는 공식만 기억하는 동물세포 실험실 출신의 생물학 전공자입니다. 하지만 다양한 분야의 융합을 통하여 가치를 생성해 나가는 생물정보 분야의 동료들과 함께 일하면서 새로운 분야에 대한 도전 의지도 키울 수 있었던 것 같습니다. 잘 모르는 분야라도 꾸준히 보고, 듣고, 배우다 보니 생물학 너머 다양한 분야의 기술과 노하우를 배울 수 있었습니다. 그렇다고 아주 잘 하는 건 아닙니다. 생물 정보 분석을 위한 넓고 얕은 지식 정도 되겠네요. 여러분들도 생물정보 분석을 하면서 리눅스, 코딩, 통계 등의 난관에 부딪혀 많이 힘든 상황을 겪으실 것 같습니다. 하지만 포기하지 말고 꾸준히 밀고 나가다 보면 경계 너머의 다양한 즐거움을 느끼게 되실 거라고 믿습니다.  
 

<이미지 출처>
  • IDC HOWTO - http://idchowto.com/?p=12787

  • RayHightower.com - http://rayhightower.com/blog/2012/12/03/ruby-on-raspberry-pi/

  • SUNFOUNDER - https://www.sunfounder.com/rpi2-sensorv2.html

  • 후레쉬맨 - http://blog.daum.net/gkglh16/3

  • f(x) - http://ppulset.tistory.com/552


작성자 : BS실 SP팀 심재영 선임 컨설턴트

Posted by 人Co

2016/10/31 18:33 2016/10/31 18:33
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/226

제 4차 산업혁명

최근 제 4차 산업혁명이라는 용어가 크게 이슈화되어 많은 사람들에게 회자되고 있어 이에 대해 짧게 간추려 보고자 합니다.


제 4차 산업혁명이란?
제 4차 산업혁명의 핵심 키워드는 융합과 연결이라고 할 수 있습니다. 이를 더 쉽게 풀어 이야기한다면, 제조업에 정보통신기술이 접목된 것이라 할 수 있습니다. 애초에 제 4차 산업혁명이라는 의미는 제조업 강국인 독일이 새로운 성장동력을 모색하는 과정에서 정립한 개념인 ‘인더스트리 4.0’을 확장한 것으로 그 범위가 더욱 확장되어 제조업뿐만 아니라 사회 전반에 일어날 엄청난 변화와 영향력을 내포하고 있습니다.
인류의 삶을 변화시킨 지난 1차, 2차 그리고 3차 산업혁명에 비하면 제 4차 산업혁명의 정체는 아직 불분명하지만, 산업생태계가 새로운 먹거리 중심으로 재편되어 인류에게 또 다른 혁신의 삶을 제공할 것임은 확실한 것 같습니다. 특별히 빅데이터, IoT, 인공지능과 같은 첨단기술과의 융합이 가져올 변화는 무궁무진한 듯합니다.
그럼 새로운 패러다임인 제 4차 산업혁명의 특징은 무엇일까요? 그 특징은 사람과 사물, 사물과 사물이 인터넷으로 연결되는 초연결성, 그 초연결성으로부터 파생된 막대한 데이터를 분석하고, 그 분석을 통해 일정 패턴을 파악해 내는 초지능성, 그리고 마지막으로 분석결과를 토대로 인간의 행동을 예측해 내는 예측가능성입니다. 이러한 단계를 거쳐 새로운 가치를 창출해 내는 것입니다.


<출처 : http://www.newspim.com/news/view/20160102000009>


국내외 정책동향
국내외적으로 제 4차 산업혁명의 정책적 동향을 살펴보면, 독일은 2011년부터 인더스트리 4.0을 통해 스마트 팩토리에 집중하여 정책적 지원을 추진하고 이를 추진하면서 노출된 문제점인 표준화, 보안정책, 중소기업 거부 등을 개선하기 위한 전략적 수정을 추진하고 있습니다. 미국은 2014년부터 ‘미국에서 만들기 (Making in America)를 통해 디지털 디자인과 3D 프린팅 역량강화로 시제품 제작기간 단축, 비용절감은 물론 혁신형 기업 창업 촉진을 정책적으로 지원하고 있습니다. 중국 또한 IT 경쟁력 강화를 통해 ‘중국제조 2025’를 발표하여 제조대국에서 제조 강국으로 도약하기 위한 전략을 추진하고 있습니다. 이에 뒤질세라 일본은 2013년 ‘세계 최첨단 IT 국가 창조선언’을 하고, 2016년 ‘로봇 혁명 신전략’을 내세워 미국, 독일에 비해 상대적으로 경쟁 우위에 있는 로봇혁명을 통해 IoT 시대에 로봇으로 세계를 리드할 전략을 추진하고 있습니다.
국내에서도 제조업의 창조경제 구현을 목표로 스마트센서, CPS(Cyber-Physical-System), 3D프린팅, 에너지절감, IoT, 빅데이터 등 스마트 제조기술개발과 더불어 이러한 스마트기술과 소프트웨어를 연결하여 이루어지는 지능화 산업 발전을 위한 R&D 예산 확대를 도모하고 있습니다.


제4차 산업혁명 주요 기술
대다수의 전문가들과 문헌에서는 제 4차 산업혁명의 주요기술로 ICT 관련 기술인 IoT, CPS, 빅데이터 그리고 인공지능(AI)을 언급하고 있습니다.

<출처 : 해외 ICT R&D 정책 동향, 정보통신기술진흥센터(2016)>

몬산토, 듀폰, 존 디어 등 다국적 기업들은 빅데이터를 활용한 '처방식 재배(prescriptive planning)'를 통해 농업 분야의 가치 창출을 본격화하고 있고, 국내에서도 각종 센서를 통해 환경정보, 생육정보, 에너지 정보, 농작업 정보 등을 통합적으로 수집, 분석한 빅데이터 기술을 활용하여 스마트 팜 산업이 확대되고 있습니다.
 
에필로그
생물정보분석 전문회사인 (주)인실리코젠은 유전체 분석 외에도 생물정보를 기반한 디지털융합사업, 다양한 정보화 사업을 수행해 왔습니다. 아마도 이미 10년 전부터 데이터의 가치를 알고, 데이터의 축척, 데이터 연결 그리고 데이터를 통합하는 4차 산업혁명의 주요 기술인 빅데이터 기술을 준비해 왔으며, 로봇 기술을 제외한 주요 기술들(빅데이터 기술, IoT, 머신러닝)을 꾸준히 연구, 개발하여 미래를 준비하고 있었던 것 같습니다.
현재 (주)인실리코젠은 수년간 준비해온 식품 빅데이터 정보를 이용하여 식품 산업의 제 4차 산업 혁명의 단초를 제공하고자 준비하고 있습니다. 아마도 식품 빅데이터 정보는 바이오 헬스, 진단 및 의료 산업을 비롯해 식품 산업으로까지 확대되어 더 폭넓게 견인하게 될 것입니다. 제 4차 산업혁명으로 산업의 패러다임이 대변신을 이루어 갈 때 (주)인실리코젠이 바이오 혁신 산업의 제 4차 산업혁명 그 중심에 서지 않을까 기대해 봅니다.




작성자 : R&D센터 DS그룹 신가희 책임 연구원

Posted by 人Co

2016/09/07 14:27 2016/09/07 14:27
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/221

2016년 3월, 전세계의 이목이 우리나라에서 벌어지는 두 바둑기사의 특별한 대국에 쏠려 있습니다. 3월 9일부터 하루이틀 간격으로 5차례 진행되는 이번 대국이 특별한 이유는 이것이 세계 최고의 바둑기사인 이세돌 9단과, 바둑 좀 둘 줄 안다고 알려진 서양의 인공지능 바둑기사간의 대결이기 때문입니다. 바둑 좀 둔다는 이 인공지능 기사는 각종 미래기술 연구에 엄청난 투자를 하고 있는 구글의 대표적인 인공지능 시스템 '알파고'로, 얼마전 유럽의 바둑 챔피언을 꺾고 한껏 기세가 등등한 상태입니다. 1997년 체스판에서 세계 챔피언에 승리를 거둔 ‘딥블루’로부터 시작된 인공지능의 도전은, 2011년 퀴즈쇼 ‘제퍼디’에서 승리를 차지한 ‘왓슨’을 거쳐 이제는 바둑이라는 성역에까지 진출한 알파고로 이어지고 있습니다. 그동안 바둑이 인공지능 분야에서 성역으로 불리었던 이유는 바둑에서 가능한 경우의 수가 엄청나게 많기 때문에 현대의 컴퓨터 기술로는 바둑에서 승리하기 위해 두어야 할 수를 도저히 찾아낼 수 없으리라 여겼기 때문입니다.

그런데 3월 9일에 벌어진 역사적인 첫 대결에서 많은 이들의 예상(혹은 기대)을 깨고 알파고가 불계승으로 승리하는 이변이 일어났습니다. 그리고 다음날 이어진 두번째 대국의 결과는 첫 대결의 충격이 채 가라앉지도 않았던 많은 사람들을 경악하게 만들기에 충분했습니다. 결과는 알파고의 연승. 첫 대결은 경기가 주는 압박감으로 인한 이세돌 9단의 심리적인 긴장과 이로 인한 몇 번의 실수에 의한 패배라고 볼 수 있는 여지가 있었지만 그 다음의 대결이 사람들을 경악케했던 것은 특별한 실수를 하지도 않았고 전체적으로 자신의 경기흐름대로 잘 이끌어가는 것처럼 보였던 이세돌 9단이 중후반부 열세에 몰리며 명백한 패배를 하고 말았기 때문입니다. 많은 사람들은 대등함을 넘어 판을 압도하는 수준의 경기력을 보여준 알파고를 보며 놀라움과 두려움이라는 매우 묘한 감정에 휩싸였습니다.

인공지능이 발전할수록 세상은 분명 더 편리해질텐데 우리는 왜 두려움이라는 감정을 함께 느끼게 되는 걸까요?

오늘날 미국을 비롯한 선진국에서는 산업분야에 인공지능 시스템을 활용하는 비율이 점차 높아지고 있습니다. 과거에는 단순 반복작업만을 해주던 기계들이 인공지능과 결합되면서 이제는 보다 높은 지적 능력이 필요한 분야에도 널리 사용되고 있습니다. 최근에는 인터넷상의 자료를 수집해서 기사를 자동으로 작성해주는 인공지능 기자 ‘워드스미스’부터 구글의 자율주행 자동차와 아마존의 택배관리 시스템 ‘키바’, 그리고 호텔부터 요양원까지 여러 곳에서 다양한 형태로 활용되고 있는 일본의 각종 도우미 로봇 등 실생활에 밀접한 영역까지 인공지능이 진출했거나 진출을 목표로 활발하게 연구되고 있습니다. 유럽에서는 '인더스트리4.0'이라는 슬로건 아래 기존의 제조업에 모바일 기술과 인공지능 기술을 적극적으로 결합시키는 전략을 펼치고 있습니다.



<최근에 출시되었거나 수 년 내 상용화 예정인 인공지능 시스템들
/ 출처 : 각 그림의 하단부에 표시>

그러나 이렇게 승승장구하고 있는 인공지능이 만들어갈 미래의 모습이 꼭 밝은 것만은 아닙니다. 인공지능이 활발하게 활용되는 분야일수록 그 이면에는 그만큼 줄어든 사람들의 일자리가 쓸쓸하게 남아있습니다. 그동안은 비교적 단순한 판단능력을 요구하는 작업에만 인공지능이 사용되었지만, 현재 연구중인 인공지능 관련 기술들이 하나둘씩 상용화되면 지금과 비교할 수 없을 정도로 많은 분야에서 인공지능이 사람의 일을 대신하게 될 것입니다.



<미국의 제조업 일자리수와 세계 산업로봇 규모의 변화 / 출처 : IBTIMES>


이대로 가면 앞으로는 인공지능 시스템을 소유하거나 제어할 수 있는 능력이 있는 사람들 - 자본가와 인공지능 전문가들이 사회의 상위계층으로 군림하고 그렇지 못한 사람들은 하위계층에서 살아남기 위해 인공지능과 경쟁하는 암울한 영화같은 일이 벌어지게 될 것입니다.(가디언지의 관련기사) 그리고 사실 - 이미 그러한 일들은 곳곳에서 진행중입니다. 인공지능은 인간 고유의 영역이었던 지식 기반 산업 분야와 서비스업에서 지속적으로 입지를 넓혀가고 있습니다. 최근에는 예술과 같은 창의적인 분야까지도 인공지능이 도전하고 있습니다. 도입부에서 소개한 바둑두는 인공지능 시스템 '알파고' 역시, 일자리라는 관점에서 본다면 사람인 바둑기사가 앉아 있을 자리 하나를 차지하고 들어온 것입니다. 이제 인공지능간의 바둑이나 스포츠 대결을 보게 될 날이 올지도 모르겠습니다. (물론 이 경기를 볼 수 있는 사람은 인공지능에게 생존권을 빼앗기지 않은 사람이겠죠!)
그렇다면 인공지능은 이렇게 암울한 미래만을 만들게 될까요? 꼭 그렇지만은 않을 것입니다. 그동안의 모든 신기술들이 그랬듯이, 인공지능 역시 열심히 익히고 대응하면 오히려 세상을 새롭게 개척할 수 있는 기회로 활용할 수 있습니다. 인공지능이 만들어낼 변화에 어떻게 적응하고 대처하느냐에 따라서 다가올 미래의 온도는 다르게 결정될 것입니다.
인공지능을 만들고 제어하기 위해서 우리는 무엇을 알아야 할까요? 좀 더 쉬운 이해를 위해 몇 년 후 인공지능 바둑 대회에 출전할 가상의 인공지능 로봇을 그려보며 관련 기술에 대해 알아보겠습니다.


인공지능의 주요 연구 분야


<인체 구조로 본 인공지능 주요 연구 분야 / 출처 : 직접 작성>

Machine learning(기계 학습) : 인공지능의 뇌

우리가 그동안 접해온 인공지능은 정해진 패턴에 의해서만 사고하는 수준이었습니다. 이 고정적인 패턴은 자체적으로 바뀌거나 향상될 수 있는 대상이 아니었습니다. 그러나 오늘날의 인공지능은 곳곳에 산재되어 있는 다양한 데이터를 바탕으로 자체 학습을 거쳐 거시적인 그림을 그려내고 그 안에서 최적의 선택을 하는 것에 중점을 맞춰 개발되고 있습니다. 그리고 이 학습으로 향상된 지능은 다음번 판단을 할 때 그대로 활용됩니다. 이렇게 인공지능이 데이터를 바탕으로 자체 학습을 하는 것을 machine learning이라 하는데, 최근에는 빅데이터 기술이 접목되면서 한걸음 더 나아간 Deep learning으로 진화하기에 이르렀습니다. 서두에 소개한 알파고 역시 이 Deep learning기술을 잘 활용한 인공지능의 예입니다.


<생물학적 뉴런과 이를 바탕으로 구성된 인공신경망 / 출처 : 직접 작성>


machine learning을 구현하기 위해서 가장 많이 사용되는 방식은 실제 우리 뇌의 구조를 바탕으로 만든 인공신경망입니다. 입력신호로 들어온 데이터는 가중치에 따른 변조를 거쳐 출력신호로 전달되는데, 이 과정에서 가중치 값이 조정되며 최적화되는 과정이 바로 인공지능의 학습이 됩니다. 알파고의 경우에는 특이하게 신경망을 ‘정책망(policy network)’과 ‘가치망(value network)’ 으로 나누어 구축한 것으로 잘 알려져 있습니다. 정책망은 과거의 기보를 학습시킨 다음 실제 대국에서 전략을 세우는데 활용하는 네크워크로, 그동안 무려 3000만 수 이상의 기보를 학습했다고 합니다. 가치망은 알파고가 자기자신과의 대국을 10만 번 이상 펼치고 여기서 승리했던 수들의 가중치를 높여서 만든 네트워크입니다. 이렇게 신경망은 목적에 따라서 다양한 방식으로 활용할 수 있으며, 인공지능의 핵심이 되는 부분이라 할 수 있습니다.

Computer vision(컴퓨터 시야) : 인공지능의 눈
- 인공지능 시스템이 독자적으로 활동하기 위해서는 학습과 판단능력 뿐만이 아니라 주변의 여러 정보를 정확하게 인지할 수 있는 능력을 갖추어야 합니다. 이 인지능력 중 시각적 인지를 연구하는 분야가 바로 computer vision입니다.

Speech recoginition(음성 인식) : 인공지능의 귀와 입
- 인공지능의 인지능력 중 청각적 인지와 표현을 연구하는 분야입니다.

Robotics(로봇공학) : 인공지능의 몸
- 실제 물리적인 행동으로 나타나는 부분으로, 로봇팔부터 보행 하체, 에너지 공급 장치 등이 연구 대상입니다. 그동안 로봇 관련 연구에서 주가 되었던 분야입니다.

 

마치며

“인류는 열정으로 가득차 있지.
의학, 법률, 경제, 기술 같은 것들은 삶을 유지하는데 필요해.
하지만 시와 아름다움, 낭만, 사랑은 삶의 목적인 거야”

- John Keating in Dead Poets Society

인공지능의 발전과 도전이 계속되며 인간의 지성이 위협을 받는 현실속에서 많은 사람들이 인간의 존엄성에 대한 걱정과 우려를 하고 있습니다. 그렇지만 사람이 사람일 수 있는 가장 큰 이유는 다른 존재보다 뛰어난 지적능력 때문이 아니라 추구하는 가치관이 고귀하였기 때문이었다고 생각합니다. 인공지능이 더욱 발전할수록 우리가 할 지적 노동의 많은 부분을 그들이 대체하거나 도와주게 될 것입니다. 그들이 만들어준 여유 속에서 우리는 우리가 추구하는 궁극적인 가치 - 정의, 평화, 아름다움, 사랑 - 에 더 가깝게 다가서는 삶을 영위할 수 있을 것입니다. 머지않은 미래에 인공지능과 함께 정의에 관해 논할 수 있는 날을 기다려봅니다.

 

참고문헌
인공지능 개론 / 마이클 네그네빗스키(Michael Negnevitsky) / 김용혁 역 / 2nd Ed. / ADDISON WESLEY / 한빛미디어
인공지능 바둑 / 이병두 지음 / 북스홀릭
컴퓨터 비전 / 오일석 지음 / 한빛 아카데미
음성처리와 자연언어 개론 / John Coleman 지음 / 최운호 옮김 / 한국문화사


참고사이트

구글의 자율주행 자동차 https://www.google.com/selfdrivingcar
아마존 로보틱스 : https://www.amazonrobotics.com
Hatteland(노르웨이 회사) 오토스토어 http://autostoresystem.com
영국의 요리하는 로봇 ‘몰리’ http://www.moley.com
일본의 로봇호텔 ‘헨나’ http://www.h-n-h.jp




작성자 : 대전지사 Development팀
서승원 주임개발자

Posted by 人Co

2016/03/21 09:14 2016/03/21 09:14
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/202

Jupyter는 웹환경에서 실행코드와 문서를 함께 작성하면서 실행 결과 및 가시화 결과 (차트 등)을 확인할 수 있는 웹 어플리케이션 프로그래밍 도구입니다. 동작하는 코드와 그 결과를 문서와 함께 직접 만들고, 또 변경하며 관리할 수 있다는 장점때문에 데이터 분석 실무에 폭넓게 사용되고 있습니다. 당사 R&D Center와 컨설팅팀에서도 일부 생물정보 분석을 Jupyter Notebook으로 수행하고, 그 결과를 고객에게 제공하고, 직접 시연하면서 좋은 반응을 얻고 있습니다.

pandas는 효과적인 데이터분석을 지원하는 python 모듈입니다. R에서 자주 사용되는 DataFrame, 즉 엑셀 쉬트 같은 2차원 테이블 데이터를 파이썬에서도 좀더 파이썬스럽게 사용할 수 있습니다. 이전에는 데이터 분석한다 하면, R로만 해야하는 경우가 많았었는데, pandas가 등장한 뒤로, 파이썬에서도 손쉽게 DataFrame 데이터를 다루고, 프로그래밍할 수 있게 되었습니다. 데이터 분석분야에 R이 더 좋으냐, Python이 더 좋으냐 논란이 있기도 했습니다. (R vs Python for Data Science: The Winner is …) 각각 장단점이 있습니다만, 객체지향적이고, 성능 더 좋고, 응용프로그램을 만들기 좋다는 점 때문에 점점 Python을 활용한 데이터 분석이 점점 더 부각되고 있습니다. 특히, Jupyter 환경에서 pandas로 데이터 분석하고, 동작코드를 잘 문서화해두면, 기존의 어떤 데이터 분석 환경보다 더 나은 생산성을 기대할 수 있습니다.

본 블로그 포스팅을 통해, Jupyter와 pandas의 데이터 분석 사례를 쉬운 예제와 함께 소개해보고자 합니다. (Python, Jupyter, pandas는 모두 잘 설치되어 있다고 가정합니다. 설치 방법은 별도의 문서를 확인하세요)

이번에 소개할 데이터 분석 예제는 다음과 같은 성적표입니다.

위 데이터를 갖고, 1반과 2반은 통계적으로 유의한 성적차이가 있는지, 유의한 차이를 나타내는 과목은 어떤 과목인지, 성적 패턴이 비슷한 학생은 누구인지 등등, 저 데이터를 이용해서 알 수 있는 정보들이 많습니다. 이를 Jupyter로 분석해 보겠습니다.

다음 링크를 클릭하면, Jupyter 문서를 볼 수 있습니다. --> 성적 데이터 분석 사례

Jupyter의 장점이 분석용 프로그램 코드가 함께 문서화된다는 것입니다. 링크의 설명을 참고하세요, (링크의 메뉴에 보면 json 파일 다운로드가 있습니다. json 파일과 아래 성적표.xlsx 파일을 하나의 디렉토리에 두고 Jupyter를 실행하시면, 본 문서 겸 프로그램을 직접 구동할 수 있습니다.)

.

잘 보셨나요? 이 예제는 간단한 성적표이지만, 실제 실무의 많은 데이터들이 이것과 비슷합니다. 생물정보 분석한다면 가로는 유전자 혹은 유전좌위, 세로는 샘플인 데이터를 많이 다루겠지요. 핵심 개념과 활용 방법은 비슷합니다. 모쪼록 이 자료가 데이터 분석 실무를 수행하는데 도움이 되길 바랍니다. 다음 기회에 또 다른 유용한 통계 분석기능을 소개하겠습니다.



작성자 : R&D센터 김형용 책임 개발자

Posted by 人Co

2016/01/22 14:53 2016/01/22 14:53
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/197

집단지성의 힘과 위키

1989년, 알래스카 해상에서 5,300 갤런의 원유를 싣고 가던 유조선이 좌초되었습니다. 유출된 원유의 양은 1,100만 갤런으로 당시까지 발생한 해양 원유 유출 사고 중 사상 최악으로 기록되고 있습니다(참고: 엑슨발데스 원유 유출 사고, 현재 최악의 사고는 딥워터 허라이즌 기름 유출 사고). 이 사고로 일대에 서식하던 바다새, 해달, 수달 등 해양생물이 집단 폐사하였고, 현재에도 그 영향으로 그 지역의 각종 해양 동물 개체 수가 계속해서 감소 하고 있다는 보고가 있습니다.

당시 하루 1만명이 넘는 사람들이 방제에 동원되었고 1년동안 20억 달러의 천문학적인 비용을 들여 사고수습에 힘썼습니다. 하지만 유출된 기름은 젤리상태로 물과 엉겨 붙어 분리가 어려웠고 심각한 환경오염을 일으켰습니다. 결국 이 문제는 17년이나 지속되었습니다.


(좌) : 원유유출으로 피해를 입은 동물들 / (우) : 원유유출 범위 (출처 : 구글)

이를 고민하던 국제기름 유출 연구소(OSRI)는 '이노센티브(InnoCentive)' 라는 한 기업에 이 문제를 의뢰하게 됩니다. 이노센티브는 전 세계의 수많은 사람들에게 문제를 공유하고 해결책을 찾아주는 '문제의 집단 해결' 서비스를 제공하는 전문기업입니다. 문제를 올리자 전세계의 수많은 사람들의 아이디어가 올라왔고, 마침내 단 3개월 만에 한 시멘트회사 엔지니어의 아이디어로 17년간 해결하지 못했던 문제를 해결하게 됩니다.

대중은 전문가보다 똑똑하다.

'군중의 지혜(wisdom of crowd)'의 저자 제임스 서로위키(James Surowiecki)는 집단은 지능적일 수 있고, 심지어 그 집단 안의 가장 똑똑한 사람보다도 더 똑똑할 수 있다고 말합니다. 실제로 그는 유리병 안의 구슬 수를 예측전문가와 다수의 비전문자에게 예측하도록 했는데 비전문자 여러명의 결과가 실제 구슬의 수에 가까웠다고 합니다.

우리는 이미 페이스북과 트위터 등을 통해 개개인이 모여서 만들어내는 대중의 강력한 힘을 느끼고 있습니다. 문제가 생겼을 때 많은 사람들이 도서관이나 전문가를 찾는 대신 인터넷 커뮤니티에 질문을 올리고 그 답을 찾습니다. 개인의 힘은 미미하지만 개인이 모이면 전문가보다 더 큰 힘을 발휘하는 것, 이것이 바로 집단지성 입니다.

우리 주변에서 집단지성을 이용한 사례들을 쉽게 찾아 볼 수 있습니다. 4천만명이상의 사용자를 보유하고는 네이버의 지식교류서비스 '지식iN' 또한 그 중 하나로, 무엇이든 궁금한것을 올리면 이내 여러 사람들의 답변이 달리는 것을 볼 수 있습니다. 소프트웨어/하드웨어의 소스코드를 공개하고 누구나 수정할 수 있도록 한 '오픈소스' 또한 집단지성을 이용한 예 입니다.

위키(Wiki), 그리고 人Co 인들이 느끼는 집단지성의 힘

집단지성의 힘을 잘 활용한 예 중 하나는 위키(Wiki)시스템이라고 할 수 있습니다. 위키는 웹브라우저를 이용해서 사용자 누구나 내용을 쉽게 추가하고 수정할 수 있는 웹사이트를 말 합니다. 위키는 한사람의 의해 만들어지는 문서가 아니기 때문에 많은 사용자의 지속적인 협력이 있어야 더욱더 휼륭해지고 풍성한 웹 사이트가 됩니다. 전 세계의 많은 사람들이 이용하고 있는 위키피디아(http://wikipedia.org)가 대표적인 예라고 할 수 있습니다.

사용자 삽입 이미지
위키를 창안한 워드 커닝엄 (출처 : 위키피디아)

(주)인실리코젠에서도 수 년간 사내 인트라넷으로 위키시스템을 사용하고 있습니다. 人Co인들 모두 개인이 모여 만들어 내는 큰 힘을 직접적으로 느끼고 있습니다. 업무 중 일어나는 모든 일들이 사내위키를 통해 기록되고 공유되며, 누구든 자유롭게 자신의 의견을 추가 합니다. 이렇게 만들어진 인실리코젠의 위키는 전문가보다 더 전문적인, 그리고 실질적인, 생생한 정보들이 축적되어있고 지금도 만들어지고 있습니다.

전 세계 수많은 사용자들의 참여로 위키피디아가 매우 휼륭한 방향으로 발전할 수 있었지만, 특정분야의 전문지식을 얻고자하는 사람들에게는 여전히 위키피디아에서 얻을 수 있는 정보는 한계가 있습니다. 예를 들어, Biopython의 역사와 주요 특징에 대한 정보는 찾을 수 있으나, 좀 더 세부적으로 Biopython의 SeqIO 모듈이 제공하는 기능과 사용법에 대한 내용들은 추가로 다른 책이나 웹 사이트에서 찾아봐야 합니다. 더군다나 영어와 한국어 간 위키 자료의 양 차이도 매우 커 대부분의 문서는 영어로 되어있습니다. 이러한 한계를 극복하고자 만들어진 전문분야 위키 중 하나로 생물정보분야의 人CoDom (인코덤, http://incodom.kr)이 있습니다.



마치며

한편에서는 집단지성의 한계와 신뢰성에 대해 지적하고 있습니다. 구성원의 의지와 참여도가 낮으면 당연히 결과물의 질이 낮아질것이고, 일부 사용자의 악의적인 활동을 통제하는 것 또한 쉽지 않습니다. 근본적으로 참여자들의 지식이 편향되어 있다거나 다른 사람의 의견에 쉽게 동조하는 경향이 있다면 이 또한 신뢰할 수 없는 결과물을 만들어내는 요인이 됩니다. 실제로 미국 국립과학원 회보(PNAS)에 실렷던 한 연구에서는 질문을 할때, 다른 이의 대답을 알려주었을 경우가 그렇지 않을 경우에 비해 대답의 다양성이 줄었다는 보고가 있습니다.

그럼에도 불구하고 집단지성을 무시할 수 없는 것은 기술의 발달로 점점 더 쉽게 자신의 의견을 공유 할 수 있는 환경이 되고있기 때문입니다. 대중이 만들어 내는 집단지성의 힘은 그 누구도 부인 할 수 없습니다. 그러므로 집단지성의 한계와 특징를 알고 올바르게 활용한다면 누구나 전문가 안부러운 '지성'을 가질 수 있을 것입니다.



작성자 : 데이터사이언스센터 솔루션그룹
김지예 개발자

Posted by 人Co

2015/11/30 09:29 2015/11/30 09:29
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/194

Introduction
'웹의 힘은 그것의 보편성에 있다. 장애에 구애없이 모든 사람이 접근할 수 있는 것이 필수적인 요소이다.'

(The power of the Web is in its universality, Access by everyone regardless of disability is an essential aspect.)
팀 버너스 리 경 - 웹의 창시자 (Tim Berners - Lee , W3C Director and inventor of the World Wide Web)

웹 접근성은 2008년 '장애인차별금지 및 권리구제 등에 관한 법률(이하 장애인차별금지법)'이 제정된 이후로 국내에서도 그 법률적 근거가 마련되었고, 2013년에 이르러 민간 기업까지 그 적용 범위가 확대되었습니다. 한국정보화진흥원 웹 접근성 연구소에서 제시하는 웹 접근성 정의는 다음과 같습니다.


“어떠한 사용자(장애인, 노인 등), 어떠한 기술환경에서도 사용자가 전문적인 능력 없이 웹 사이트에서 제공하는 모든 정보에 접근할 수 있도록 보장하는 것”

위 정의에 따르면 웹 접근성은 특정 대상에 한정되지 않고 모든 사용자를 대상으로 하며 모두를 유익하게 하는데 그 목적이 있습니다.

웹 접근성에 대한 관심과 필요성에 대한 인식이 커지고 있지만 그 정의와 범위가 모호하고 방대해 실무자에게는 아직까지 와 닿지 않거나 어렵게 느껴지는 것이 현실입니다. 이 에 웹 콘텐츠 접근성 지침을 위한 국가 표준으로 KWCAG(Korea Web Content Accessibility Guidelines, 한국형 웹 콘텐츠 접근성 지침) 2.1이 마련되었고 장애인이 비장애인과 동등하게 웹 콘텐츠에 접근할 수 있도록 웹 콘텐츠를 제작하는 지침 및 방법에 관하여 기술하고 있습니다. KWCAG 2.1은 원칙(Principle), 지침(Guideline), 검사항목(Requirement)의 3 단계로 구성되어있고 각 각의 내용은 웹 접근성 제고를 위한 4가지 원칙과 각 원칙을 준수하기 위한 13개 지침 및 해당 지침의 준수 여부를 확인하기 위해 22개의 검사항목으로 구성되어 있습니다.

웹 접근성에 대한 실무적 접근을 돕고자 웹 콘텐츠의 접근성 준수여부를 평가해 볼 수 있는 도구들을 소개하려 합니다.


K-WAH 4.0

K-WAH 4.0은 한국형 웹 콘텐츠 접근성 지침 2.0에 따라 웹사이트(웹페이지)가 접근성 지침의 6개 세부지침을 준수하는지를 자동 점검하도록 지원해 주는 소프트웨어입니다.




다운로드 및 설치

1. 웹접근성 연구소 접속
2. K-WAH 4.0 프로그램 내려받기


3. 파일을 다운받고 원하는 위치에 압축을 푼 후 파일 실행
4. 사용권계약에 동의하고 경로를 설정한 후 설치
5. 설치를 완료하면 바탕화면에 'K-WAH 4.0 바로가기' 아이콘 생성

진단가능한 검사항목

  • 01. 대체텍스트 제공
  • 13. 제목제공
  • 15. 기본언어 명시
  • 16. 사용자 요구에 따른 새창 열기
  • 19. 레이블 제공
  • 21. 마크업 오류 방지


OpenWAX

Firefox 부가기능으로 제공되고 있는 소프트웨어로 개별 페이지별로 웹 접근성 준수여부를 확인할 수 있습니다.



* 위 이미지는 2015년 당사에서 개발 및 웹접근성 인증마크를 획득한 바 있는 의과학지식센터 웹사이트를 테스트하여 캡쳐한 이미지입니다.

다운로드 및 설치

1. 파이어폭스 부가기능 으로 이동



2. '+Firefox에 추가' 버튼 클릭
3. 소프트웨어 설치 창에 [설치] 버튼 클릭
4. Firefox 다시 시작
5. Firefox 주소창 우측에 사다리모양 아이콘 생성


사용방법

1. OpenWAX 아이콘(사다리모양) 클릭
2. 사이드바에 OpenWAX가 실행되면 [현재 페이지 검사] 버튼 클릭
3. 검사항목별 검사결과 확인

진단가능한 검사항목

  • 01. 대체텍스트 제공
  • 03. 색에 무관한 콘텐츠 인식
  • 05. 텍스트 콘텐츠의 명도 대비
  • 12. 건너뛰기 링크
  • 13. 제목제공
  • 14. 적절한 링크 텍스트
  • 15. 기본언어 명시
  • 16. 사용자 요구에 따른 새창 열기
  • 18. 표의 구성 - 19. 레이블 제공 - 21. 마크업 오류 방지


Colour Contrast Analyser

전경색과 배경색의 명도 대비를 확인할 수 있습니다.

다운로드 및 설치

1. 다운로드

2. 다운로드 받은 압축 파일을 압축 해제하여 압축 해제된 폴더를 적당한 위치로 이동
3. 폴더 내의 Colour_Contrast_Analyser.exe 파일을 실행



작성자 : 데이터사이언스센터 프론트앤드개발자
김근래 주임

Posted by 人Co

2015/09/17 16:21 2015/09/17 16:21
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/190