11월 11

데이터 과학자가 갖춰야 할 5가지 스킬셋

데이터 과학자가 갖춰야 할 5가지 스킬셋

 

데이터 사이언스, 데이터 과학, 데이터 과학자, 머신러닝, 딥러닝, R

주변에서 데이터 사이언티스트가 될려면 어떤 공부를 해야되는지 묻는 경우가 참 많다. 전에 다녔던 크리테오라는 프랑스 리타게팅 광고 회사의 세일즈 팀 사람들은 Data Analyst 와 Data Scientist가 무슨 차이가 있는지 잘 모르고 날 더러 그냥 데이터 팀 사람이라고 불렀고, 그 중 누구는 자기가 데이터 쪽으로 커리어를 전환하고 싶은데, 나더러 Data Scientist가 될려면 어떻게 해야되냐고 묻더라. 개발자 중에서 요즘 머신러닝 공부하고 있는데, 무슨무슨 수업 다 듣고나면 이제 자기는 데이터 사이언티스트 되는거 아니냐고 하는 경우도 있었다. 필자가 심심하면 찾아가는 모 랩탑 브랜드 커뮤니티에는 자기가 Udemy의 Data Analysis 수업을 듣고 있는데, 앞으로 데이터 사이언티스트가 될려면 뭘 더 공부해야되냐고 느닷없이 개인 메세지를 보내시는 분도 있었다.

간단히 정리하면, 그런 질문 하시는 분들 정말, 진짜 너무너무너무 많다.

솔직한 대답을 드리자면, “저도 몰라요.”가 될 것 같다.

필자의 백그라운드는 Economics 학부, Financial Econometrics 석사, 그리고 Financial Math 박사 출신이고, 석사 시절부터 연구 주제 탓에 MCMC Simulation과 Network Theory라는 통계학과 수학의 한 분야를 깊게 공부했었다. 중간에 친구따라 강남가는 꼴로 연구실 근처에 있는 MIT에서 머신러닝 수업 몇 개듣고 이거 내가 알고 있던 Simulation이랑 같은 수리통계학 쓰고 있구나고 이해했던 정도가 전부다. 처음 데이터 사이언스 쪽 직장을 찾던 시절 쓸 수 있었던 프로그래밍 스킬셋이라고 해봐야 R이랑 Matlab이 내세울 수 있는 수준이고, SQL은 정말 기본만 했다. 다른 코딩 언어는 쓸 줄 모르기는 커녕, 별로 들어본 적도 없는 적이 많았다.

회사 가보니 Data Visulization에 필요한 Tableau라는 프로그램을 가르쳐주길래 공들여 배웠고, 데이터 베이스 접근하는 것 때문에 SQL도 Hive 알게되고, 나아가서는 Hadoop 어떻게 쓰는지까지 공부를 하게됐다. 사실 더 깊게 Data Engineer들 쪽 영역에 손을 댔으면 Spark 같은 것도 공부했으면 됐을텐데, 필자의 주 업무가 Data Science였지 Engineering 쪽이 아니어서 크게 관심을 두질 않았고, 솔직히 공부할 시간도 없었다. 당장 Data Science 업무에 쏟을 시간도 부족했었으니까. (개인적인 백그라운드가 더 궁금하신 분은 링크의 제일 하단을 참조)

시장에서 요즘 데이터 사이언티스트를 많이 뽑는데, 정작 사람은 없다보니까 다양한 분야 출신들을 모으고 있고, 그러니까 더더욱 뭐가 Data Science인지 잘 모르는 상태가 지속이 된 것 같다. 그 탓에 배울 지식이 엄청나게 많아보이는 착시효과가 있는데, 이건 꼭 알았으면 좋겠다 싶은 내용들을 한번 정리해보자.

1. R or Python

이 두 개의 프로그래밍 언어는 시장의 스탠다드가 되어버렸다. 둘 중 어느쪽이 더 우월하냐고하면 필자도 대답을 못하겠고, 굳이 따지자면 R 쪽이 약간 더 쉬울 것 같기는 하다. 대체로 R은 통계학 출신들이 많이 쓰고, Python은 개발자 출신들이 많이 쓴다. 실제로도 Python for production 이라고 이야기들 하고, R for deep statistical analysis 라고 이야기 한다. Random sampling 같은 조금 깊은 통계 지식을 활용하고 싶으면 Python에는 없는 기능들이 R에 잘 구비되어 있고, 반대로 결과물을 프로그램에 얹으려고하면 Python만한 프로그래밍 언어가 없는 것 같다.

데이터 사이언스에서 R vs. Python으로 무슨 경쟁체제인 것처럼 몰아가는데, 둘이 상호 보완적인 관계라고 하면 더 맞지 않을까?

아뭏튼, 최소한 둘 중 하나는 잘 해야 어디가서 데이터 사이언티스트라고 할 수 있다. 관련해서 더 궁금하신 분은 여기에서부터 글타래를 따라가시면 된다.

2. 머신러닝

데이터로 뭘 하는걸 사이언스라고 주장하는 학문 분야가 나오게 된 가장 중요한 두 가지 “혁명”을 꼽으라면 빅데이터와 머신러닝을 들 수 있다. 굳이 따지자면 빅데이터가 있기 때문에 머신러닝이 의미가 있는 것이기는 하지만, 기술적인 지식이라는 측면에서 빅데이터를 배울 수는 없으니 (데이터를 어떻게 “배우”냐? 데이터를 활용하는 “지식”을 “배워”야지 ㅋㅋ “머신”이 “러닝”하게 양보하자), 당연히 머신러닝이 데이터 사이언스 업무의 필수 스킬셋이 될 수 밖에 없다. (참고, 빅데이터 만드는 백엔드 개발자는 또 다른 종류의 직업이다)

이쪽 업계에서 R이나 Python 같은 프로그래밍 언어가 크게 성공한 가장 중요한 이유가 바로 머신러닝을 실제로 돌려볼 수 있는 몇 안 되는 무료 패키지기 때문이다.

이미 많은 오픈소스 코드들이 돌아다니기 때문에, 코드를 적용한다는 측면에서 난이도는 그렇게 높지 않다. 솔찍말 학부 통계학 + 회귀분석 정도 알고 있으면 따라가는데 아무 문제 없다. 대부분의 경우에 학부 통계학과 회귀분석을 몰라서 문제고, 그 코드들이 작동하는 배경지식이 없어서 문제더라. (강의 초점을 모델 속에 숨겨진 직관과 직관을 받쳐주는 수학&통계학에 집중하는 것도 같은 이유다.)

학부 때 컴퓨터 사이언스 해야되는거 아니냐고? 아니다. 정말 아니다.

차라리 로봇 공학, 기계, 산업 공학 같은 공대 전공이나, 경제학 같은 전공이 훨씬 더 적합한 전공이다. 이런 전공들도 학부, 석사 시절에 코딩 많이하고, 문제에 대한 접근 방식이 수학 식을 세우고, 그 문제를 풀어나가는 방식이고, 뭔가 잘못 되었을 때는 코드만 쳐다보는게 아니라 수식도 함께 쳐다본다. 굳이 차이가 있다면 수학을 코딩하는 거지, 개발자들처럼 IT 시스템의 일부를 구현하는 코딩을 하지 않는 것일 뿐이다. 머신러닝도 같은 방식으로 수리 통계학 모델링이 들어간 코딩이다.

그럼 학부 때 수학이랑 통계학 엄청 공부했어야되는거 아니냐고? 그냥 학부 1-2학년 수준의 수학 지식에 3학년 정도에 배우는 회귀분석만 알면 된다. 이건 필자의 수업을 들은 이학, 공학, 경제학 “박사 학위자”들의 공통적인 의견이다.

물론 머신러닝에 대해서 깊이 있게 알려면 아래 3번을 보자.

3. 수리통계학

개발자들이 하는 가장 큰 착각이 바로 머신러닝은 공학이지 수학이 아니라는 거다. 여기에 필자는 정면으로 반박하고 싶다.

머신러닝은 수학이지 공학이 아니다. 머신러닝 입문자들이 듣는 Coursera의 Andrew Ng 아저씨 수업을 평가한 Quora 글을 보라.

“What most people missed was that they approach machine learning as some kind of programming project, while in reality it is actually more of an applied math project with computational approach, and they really needed to focus on learning the math, which, in this case, is linear algebra.”

머신러닝은 한 단어로 요약하면 응용수학이다. 선형대수학과 회귀분석을 섞고, 발전하다보니 더 고급 수학과 더 고급 통계학을 쓰는 그런 응용수학이다. 필자가 데이터 사이언티스트라고 소개하니 머신러닝을 공학이라고 생각해서 “어, 공대 출신이 아닌데 어떻게 데이터 사이언티스트에요?” 라고 질문하는 벤쳐 캐피탈리스트도 있더라.

정리하면, 확률론 + 선형대수 + 회귀분석이 머신러닝의 근간이고, 이걸 정말 잘하고 싶으면 대학원 수준의 수학과 통계학을 공부해야한다. 수업 왔던 개발자들 일부가 커리어를 접고 대학원으로 방향을 튼 이유도 같은 맥락일 것이다. 그냥 갖다 쓰는 방식의 개발과는 근본적으로 다른 학문이라는 걸 이해했기 때문일 것이고, 데이터 사이언스 영역에서 인정받고 싶다면 수리통계학 깊이가 깊어야한다는 사실을 깨달으셨기 때문일듯.

당장 빅데이터로 작업할려고 전처리할 때 Dimensionality reduction에 쓰이는 PCA나 FA 분석이 어떻게 작동하는지 머신러닝한다는 개발자들에게 물어봐라. 둘 중 어떤 방법을 써야하는지도 모르고, 프로그램에서 디폴트로 되어 있는 PCA만 쓰고 있을 것이다. (애시당초 “그냥 데이터 크기 줄여주는거 아냐?” 수준을 너무 많이 봤다.) PCA는 Total variation을 볼 때, FA는 변수들간 C0-variation을 볼 때 쓰는 테크닉들이다. 이 차이를 몰라서 학계에서 유명한 통계 패키지 하나가 계산을 거꾸로 하던 바람에 1990년대에 쓴 모든 논문을 다시 써야하는 사건들도 발생했다.

왜? variance & co-variance matrix하나 그려놓고, 모든 숫자를 다 쓰는지, off-the-diagonal term만 쓰는지에 따라 연구 결과는 당연히 다르게 나올 수 밖에 없다. 심지어는 자기 논문을 스스로 비판하고 저널에서 내려달라고 하던 연구자도 있을 정도였다.

무슨 말인지 잘 모르겠다고? 근데 이거 사실 자연계열 1, 2학년 선형대수학 수업에서 배운 지식이다. (그리고 필자가 페이X북 Data Scientist 면접볼 때 나왔던 질문이기도 하다.)

4. 데이터 시각화 패키지 지식

빅데이터 분석을 해서 결과값을 보여주는데 최적화된 수 많은 툴들이 있다. 당장 R로도 예쁜 그래프들 참 많이 그릴 수 있는데, 필자는 회사 생활하면서 Tableau로 작업하는 걸 배웠다. 좋더라. 비싸서 그렇지. 그리고 가격경쟁력이 좀 더 있는 툴로 Qilk도 써 본적이 있다. 왜 기업들이 Tableau 쓰는지 알겠다는 생각도 들었고, 이것도 참 쓸만하다는 생각도 했다.

사실 R로 작업하기로 맘 먹으면 Java Script로 그래프 만드는 걸 처리해주는 패키지도 있기 때문에, 왠만한 일들은 다 R로 해결할 수 있다. 당장 Sankey, Sunburst 같은 그래프들 한번 그릴려고 시도해봐라. 아마 아직도 R말고 다른 패키지로 저런 복잡한 그래프를 쉽게 Customizing 하기 힘들 것이다.

5. Data Modeling 센스

마지막으로 가장 중요한 스킬 셋이다. 위에 4가지 지식은 사실 없으면 배우면 된다. 그런데 Data Modeling 센스 없으면 데이터로 분석을 요하는 그 어떤 종류의 직업도 할 수가 없다. (아마 데이터 서버 관리하는 엔지니어가 이쪽 관련 직군에서 유일한 대안이 아닐까 싶다.)

가장 단순하게는 엑셀로 그래프를 잘 그려서 보는 사람들이 한번에 쉽게 이해할 수 있도록 해 주는 것도 포함될 것이고, 복잡하게는 어떤 통계 모델로 가설들을 검증할 수 있을지에 대한 아이디어들이 포함된다.

필자가 석사 처음들어가서 논문을 쓸 때였다. 논문 주제로 뭐 하나를 가져갔다가 입이 좀 걸걸한 교수님께 거의 모욕 수준의 평가를 듣고 나왔는데, 지금 생각해보면 그 교수님 그래도 착했다는 생각이 든다. 이런 말도 안 되는거 하지말고 주제 제대로 잡으라고 리스트를 쭈욱 뽑아주셨는데, 그 예시들 보면서 정말 눈물이 찔끔 나더라. 주제라고 뽑아주시는 리스트에 있는 내용들을 어떻게 테스트하는지 다 수업시간에 배웠는데, 실제로 이런 방식의 테스트를 하겠다는 생각을 그전까지 한번도 해 본 적이 없었다.

비싼 돈 내고 공부하러와서 여태까지 답답한 공부만 하고 있었다는 쪽팔림에 속으로 울었다.

그 분수령같은 사건 이후로, 어떤 통계 모델을 써서 테스트해야되겠다는 그림을 머릿속으로 그릴 수 있게 되었으니 그 교수님께 참 감사해야된다 싶다. (물론 그 때 같이 수업 들었던 친구들 대다수가 아직도 그 교수님의 독설에 많은 반감을 갖고 있기는 하다 ㅋㅋ)

다른 글에서 소개한 한국 제약산업의 리베이트 관행에 대한 분석스페인 은행들 Network 분석, 나중에 연구지원금 받고 손을 댔던 Systemic externality 논문들 모두가 결국엔 그 날 모욕을 들으면서 얻은 Data Modeling 센스에서 나왔지 않을까 싶다. 필자가 운영하고 있는 강좌 중 가장 어려운 수업이 바로 데이터 사이언스 모델링에 관한 수업이다. 당연하겠지만, 이런 내용을 이해하려면 통계학, 머신러닝 전반에 대한 여러 지식이 필요하고, 수요만큼 공급이 없는 스킬셋이다.

사실 이 중에 3개만 잘 갖추고 있어도 데이터 사이언티스트로 먹고사는데 별 지장없을 것 같기는 하다 ㅋㅋ

[출처] https://blog.pabii.co/5-skillsets-for-data-scientists/

136 total views, no views today

10월 23

[알아봅시다] IEEE 예측 2018년 10대 기술 트렌드

[알아봅시다] IEEE 예측 2018년 10대 기술 트렌드

IEEE 컴퓨터 협회 (IEEE Computer Society)의 전문가들은 매년 기술의 미래를 예측하고 가장 큰 트렌드가 될 기술을 발표하고 있다. 2018년도의 10대 기술 트렌드를 예상한 내용은 아래 표와 같다.

 

 

기술

내용

딥러닝

(Deep learning)

-딥 러닝은 이미 혁신의 첨단에 있음 
-딥 러닝은 데이터 센터에서 널리 채택되고 있는 중임. 아마존은 딥러닝에 사용할 수 있는 GPU를 만들었고, 구글은 텐서 프로세싱 유닛에 딥러닝을 사용함

-이미지, 비디오, 오디오와 같은 매체 인식은 이미 다양한 분야에 배포되고 있음.

디지털 통화

(Digital currencies)

-Bitcoin, Ethereum과 같은 디지털 통화는 일반적으로 거래되는 통화가 되었고 계속해서 널리 채택 될 것임

-이러한 통화는 가치가 높아질수록 투기성이 높아지기 때문에 향상된 보안수준을 요구하게 될 것임

-디지털 통화는 클라우드 컴퓨팅, IoT, 엣지 컴퓨팅 등 다른 기술에 의해 더욱 활성화 될 것임

블록체인

(Blockchain)

-Bitcoin의 사용과 P2P컴퓨팅의 활성화는 광범위한 의미에서 블록체인 기술 도입에 기여함

-블록체인 공급 회사의 증가와 IT거물의 시장진입과 제품 통합 예상

산업용 IoT
(Industrial IoT)

-산업용 IoT는 실제 요구사항에 따라 가장 보편적으로 엣지 컴퓨팅 방식을 사용하는 사례임

-IoT의 다른 용도뿐 아니라 딥러닝에 의해 더욱 광범위한 기술로서 계속 사용될 것으로 예상

로보틱스

(Robotics)

-수십 년 동안 로봇 공학이 번성하지 못하였지만 지난 몇 년 동안 소비자용 로봇은 물론 군사용 및 산업용 로봇 시장의 가용성이 향상됨

-보육 및 기타 의료용으로 의료분야에서 로봇공학이 더욱 널리 활용될 것으로 예측

-딥러닝과 인공지능을 결합한다면 2018년 로봇공학은 더욱 발전할 것임

지원형 수송

(Assisted transportation)

-완전 자율주행 차량의 상용화가 수많은 장애물로 인해 지연되고 있었지만 그 동안 영상 식별, 차선 이탈 알림, 주차 도우미, 장애물 식별과 같은 자동화 된 제한적인 사용이 계속 증가
-자동화와 머신러닝, 딥러닝이 자동차 산업에 적용됨에 따라 차량 운행 보조 기능이 더욱 발전할 것으로 예상

증강 현실 및 가상현실

(Augmented reality and virtual reality (AR/VR))

-3D프로젝션 및 동작 감지와 같은 모던 유저 인터페이스를 통해 AR/VR 트렌드가 더욱 커질 것으로 예상

-이를 통해 개인을 메타데이터와 연결할 수 있음, 이에 따라 사이버 보안 및 개인 정보 보호를 위한 국제 정책이 계속 추진될 것임

개인 정보, 보안 및 책임에 대한 윤리, 법률 및 정책

(Ethics, laws, and policies for privacy, security, and liability)

-딥러닝, 로봇 공학, 지원형 기술 및 AI의 발전으로 인해 기술은 사회가 쉽게 제어할 수 있는 범위를 뛰어 넘음

-의무지침은 다양한 설계 측면에서 깊이 분석되고 발표되었으며(IEEE 표준 협회 문서 참조), 자율적이고 지능적인 시스템과 보안시스템에 추가로 적용되고 있음.

가속기 및 3D

(Accelerators and 3D)

-전력 확장과 무어의 법칙이 끝나고 3D로 전환되면서 가속기는 하드웨어 성능과 에너지 효율을 지속적으로 개선하고 비용을 절감하는 방법으로 부상

-가속기의 더 넓은 다양성과 더 넓은 적용 가능성으로 인해 2018년에 더욱 널리 사용될 것으로 예측

사이버 보안 및 인공지능

(Cybersecurity and AI)

-사이버 보안은 점점 더 관리하기가 어려워지고 있음. IT가 따라가기 힘들 정도로 취약점 공격이 극도로 정교해 졌음.

-순수 자동화로는 더 이상 충분하지 않으며, 데이터 분석 및 자동화된 스크립트를 향상시키기 위해서는 AI가 필요함

[출처] http://www.ndsl.kr/ndsl/issueNdsl/detail.do?techSq=354

116 total views, no views today

8월 18

텐서플로우 인공지능으로 소설쓰기.Writing novels with tensor flow artificial intelligence

텐서플로우 인공지능으로 소설쓰기.

Writing novels with tensor flow artificial intelligence

텐서플로우 많이들 아시죠? 텐서플로우 설치와 기본은 하였는데, 구체적인 실습을 위하여 동영상으로 시연을 작성하여 보았습니다. 실습 데이터는 깃허브에 올려진 예제인 https://github.com/crazydonkey200/ten… 입니다. 제작과 편집은 “에스테크스타닷컴” http://www.stechstar.com / http://www.stechstar.com/user/zbxe/ 에서 하였습니다. 생애 처음 발표한 동영상강좌입니다. 부족하지만 앞으로 좋은 품질의 강좌를 연재할 계획입니다. 감사합니다.

314 total views, no views today

4월 29

성공적인 인공지능 챗봇 구현 위한 3가지 이슈

성공적인 인공지능 챗봇 구현 위한 3가지 이슈

AI 챗봇의 경우 발화자 의도 파악, 사용자 식별, 민감정보 보호 이슈 등 고려해야

[보안뉴스= 김유신 서울시립대학교 교수/한국인터넷정보학회 이사] 알파고 이후 2년이 흘렀다. 알파고의 파급력이 워낙에 컸던 탓인지 공공, 금융, 제조, 서비스 등 여기저기서 만능 해결사로 인공지능이 거론됐다. 근래 들어서는 인공지능이 우리의 삶을 점령할 것만 같은 그 기세는 조금 누그러진 듯하다. 인공지능 시스템 구축을 위한 빅데이터의 수집 및 분석, AI 알고리즘 개발과 학습, 검증, 그리고 비즈니스 시스템으로 이행 및 테스트, 관리체계 수립 등 제대로 된 비즈니스 AI 시스템을 위해서 거쳐야 할 무수히 많은 일들을 이제는 모두 공감할 만큼 경험이 쌓였기 때문인 것으로 보인다. 

[이미지=아이클릭아트]

이 때문에 지금은 어떻게 하면 인공지능을 비즈니스에 효과적으로 잘 활용할 것인가에 대한 고민들을 많이 하고 있는데, 이런 측면에서 인공지능 챗봇이 급부상하고 있다. 그 동안 챗봇서비스가 없었던 것은 아니지만, 기술적으로는 음성과 문자인식 AI 성능이 급속도로 향상되고 전화보다는 챗팅을 선호하는 밀레니얼 세대의 부상도 영향을 미쳤다. 거기에 2018년부터 급등한 최저임금이 인간노동을 인공지능으로 대체할 수 있을까 하는 질문에 불을 당긴 측면도 없지 않다. 

모 통신사의 경우 2017년 중반 월 23만건을 처리하던 고객센터 챗봇 서비스에 인공지능을 도입한 후 6개월만에 211만건으로 모바일 상담이 급증했다고 한다. 아마도 ARS에서 헤매거나 변변찮은 답변에 머물던 서비스의 수준이 인공지능으로 향상됐기 때문이다. 실제 고객의 주요 문의는 부가서비스 신청/해지, 소액결제신청, 멤버십카드 신청 등의 업무가 다수를 차지했는데, 이러한 고객응대에 소요되는 인건비를 최저 임금 수준으로만 계산해도 약 수억 원에 달할 것으로 추정된다. 

이렇듯 인공지능 챗봇은 비교적 단편적인 고객 문의 응답에서부터 좀더 복잡한 고객 지원 업무(예: 은행 계좌조회와 입/출금, 대출까지)까지 그 영역을 계속 넓혀가고 있으며, 이를 통해 조직은 시간과 비용을 절감하고 있다. 

가트너(Gartner)는 2020년이면 고객 대응 업무의 85%가 이런식으로 무인화될 것이라고 예측하고 있다. 챗봇 시장 규모도 2015년 113백만 달러에서, 2024년에는 995.5백만 달러로 급증할 것으로 시장조사기관 Statista는 예상했다. 

국내 AI 챗봇 시장도 이와 크게 다르지 않다. 인공지능 챗봇을 대고객 서비스에 도입하려는 움직임이 지난해부터 활발해졌고, 나아가 4차 산업의 실행 도구로서 AI챗봇을 구축하려는 사례도 심심치 않게 나타나고 있다. 필자가 작년 하반기부터 참여한 구축사례만으로도 은행의 대출 상담부터, 보험 상품 불완전판매 검증, 호텔 안내 및 예약, 렌털 장비 고장문의 및 수리 예약, 제조 및 유통 상품 이용 안내, 도서관 이용안내 및 도서 검색 등 전 산업에 걸쳐 다양한 형태의 AI 챗봇이 실제 비즈니스 현장에 속속 접목되고 있음을 확인할 수 있다.

그러나 다른 한편으론 기존에 매우 제한적이던 챗봇 서비스에 인공지능이 접목됨으로써 과연 혁신적인 무인 채널로서 제대로 작동하고 있는가에 대한 본질적인 질문이 대두되곤 한다. 또한, 인공지능 챗봇의 확산에도 불구하고 아직까지 서비스 영역이 일부 단순 업무를 넘어서지 못하는 경우가 많은 것도 사실이다. 여기에는 AI 챗봇 서비스의 고도화를 위해 신중하게 검토되어야 할 몇 가지 이슈가 존재하기 때문이다. 이러한 이슈들을 잘 극복한다면 성공적인 AI 챗봇을 구현하고 비즈니스에 적극 활용할 수 있을 것이다. 

첫번째는 AI 챗봇이 발화자의 의도를 얼마나 잘 파악하고 이해하느냐다. 최근에는 AWS, Watson AiBril, Azure 등과 같은 AI 플랫폼들이 AI 챗봇을 매우 쉽게 구현하는 도구를 지원하고 있다. 이 때문에 플랫폼 위에 챗봇이 구현되기만 하면 AI 챗봇이 완성된 것으로 착각하는 경우가 종종 있다. AI 챗봇의 핵심 기능은 사람의 일상적인 자연어를 읽고 발화자의 의도를 정확히 파악하는 것이다. 

그러나 사람간의 대화는 다양한 구조와 형태로 발화되고, 빈번하게 형식을 파괴하고 생략하며, 맥락을 뛰어넘는 등 그 활용이 기존의 룰 방식 대화 모델로는 한계가 있기 때문에 이를 분석하고 이해할 수 있는 인공지능의 역할에 큰 기대를 하는 것이다. 때문에 인공지능 챗봇은 화자의 의도를 잘 파악할 수 있도록 대화모델이 설계되어야 하고 다양한 형태의 발화에도 대응할 수 있도록 다양한 시나리오로 대화학습이 되어 있어야 자연스러운 자연어 대화가 가능해지는데, 그렇지 않을 경우에는 도통 사람 말을 못 알아 듣는 채팅창에 그치기 때문이다. 고객에게 제공하고자 하는 정답들이 어느정도 존재하는 비즈니스 측면에서는 고객의 질문 의도를 제대로 파악하기만 한다면 훨씬 자연스럽고도 만족스러운 응대가 가능할 수 있다. 

다음으로는 사용자 식별과 관련된 보안 이슈가 존재한다. AI 챗봇을 통한 대고객 서비스의 범위가 확장 될수록 사용자가 누구인지를 식별하는데 있어 검증된 보안인증 절차가 요구된다. 예를 들어 스마트폰 뱅킹에서는 은행 계좌의 잔액조회와 송금서비스를 이용한다면, 공인인증을 통한 로그인 또는 생체인식 보안 로그인, 휴대폰 실시간 본인인증 등과 같은 여러가지 보안절차와 시스템이 적용된다. AI 챗봇 역시 송금 서비스를 가능하게 하려면, 먼저 본인확인을 통해 계좌가 개설되어 있는지, 비대면 계좌이체를 위한 송금 서비스 권한이 존재하는지, 계좌 이체에 따른 비밀번호 입력 및 확인과정에서의 해킹 또는 피싱이 발생하지는 않는지 등등 고도화된 서비스에 합당한 사용자 식별과 보안 프로세스가 동반되어야 할 것이다. 

마지막으로 고려되어야 할 것은 대화에서 나타나는 여러가지 민감 정보들을 어떻게 보호할것인가이다. 여기에는 서비스를 이용하는 고객의 개인정보보호도 있지만, AI챗봇을 통해 노출되는 기업의 민감정보 또한 그 대상이라 할 수 있다. 고객은 이용 편의를 위해 기업용 챗봇이 아닌 공용 플랫폼(카카오톡, 라임, 페이스북메신저 등)을 선호하는 경우도 빈번한데, 이때 공용 플랫폼에서 고객의 개인정보나 기업의 민감정보가 노출될 위험이 존재한다. 

또한, 기업 전용 챗봇에서도 정보 유출의 우려가 존재하는데, AI 챗봇이 방대한 양의 데이터 학습과 효과적인 알고리즘 활용을 위해 클라우드 환경의 AI 플랫폼에서 구현되고 구동되는 경우가 일반적이기 때문이다. 이때도 AI 플랫폼으로 개인정보와 기업 민감정보가 유출될 우려가 없는지, 또는 이를 예방할 수 있는 아키텍처와 정보보호 방안이 고려되어야 한다. 

[사진=서울시립대학교 김유신 교수]

이상으로 인공지능 챗봇 서비스 구현시 고려되어야 할 3가지 이슈로서 대화모델 학습, 사용자 식별 보안인증, 민감정보 보호에 대해 간략히 기술했다. 인공지능 챗봇이 이러한 기술적 제약과 지능형 진화의 과정이 수반되는 한계를 가지고 있음에도 불구하고 앞으로 그 필요성이나 니즈는 계속해서 커져갈 것이 틀림없다. 그러므로, AI 챗봇을 도입하고자 하는 곳에서는 처음부터 이를 검토하고 반영하여 처음에는 다소 제한된 고객 응대 서비스에서 어눌하게 응답을 시작하더라도 점차 서비스 범위를 확장하고 고객 질의를 잘 이해하고 대응할 수 있도록 진화해가는 진정한 인공지능 챗봇을 검토하는 것이 장기적인 성공전략이 될 것이다. 

필자 소개_ 김유신 교수는 SKC&C, 액센츄어코리아, IT벤처 등에서 10여년간 빅데이터 컨설팅과 정보 시스템 구축을 수행했고, 텍사스주립대와 충북대학교에서 빅데이터전공 연구교수로 재직했다. 현재는 한국인터넷정보학회 운영이사로서 데이터사이언스연구회를 이끌고 있으며, 서울시립대 빅데이터분석학 전공 객원교수로 재직하고 있다.
[글_ 김유신 서울시립대학교 자유융합대학 빅데이터분석학 전공/한국인터넷정보학회 이사(yoosin25@uos.ac.kr)]

[출처] http://www.boannews.com/media/view.asp?idx=68749&mkind=1&kind=6

312 total views, no views today

2월 3

개발자라면 한 번쯤 알아봐야 하는 언어 10

   [주말판] 개발자라면 한 번쯤 알아봐야 하는 언어 10
      2018-02-03
기존 강자 언어 7개와 떠오르는 신진 3…그리고 패배자 하나
선호도가 높은 언어들은 호환성 좋고 배우기 간단해

[보안뉴스 문가용 기자] 모든 게 빨리 변해가는 세상이라지만, 개발자들만큼 이것이 피부로 와 닿는 사람들도 드물 것이다. 플랫폼과 애플리케이션에 대한 수요는 높아지는데, 수많은 언어들이 나타나 유행할 것처럼 군림하다가 또 어느 순간 반짝 사라지니까 말이다. 그러니 항상 새로운 언어에 대한 관심은 유지하되, 기존 것에 대한 미련은 가지지 않는 것이 중요하다.

[이미지 = iclickart]

최근 프로그래머 및 코더 양성을 위한 단체인 코딩 도조(Coding Dojo)에서, 2018년 한 해 동안 배워두면 가장 도움이 될 만한 언어가 무엇인지 파악하기 위해 구인구직 및 취업 웹사이트인 Indeed.com와 함께 25개의 프로그래밍 언어를 분석했다. 그리고 현장에서 근무하는 코더들의 의견을 취합해 10가지를 뽑아냈다. 이번 주말판에서는 그 10가지 언어에 대해 간략히 다뤄보고자 한다.

코딩 도조의 학과장인 스페로스 미서라키스(Speros Misirlakis)는 “한 개의 언어만 가지고 은퇴할 때까지 소프트웨어 개발자로 먹고 살 수 있는 시대는 지났다”고 말한다. 그렇다고 나오는 언어들을 모두 배워둘 필요는 없다. “지금 시대에서 프로그래머라면 적어도 3~5개의 프로그래밍 언어를 다룰 줄 알아야 합니다. 또한 프론트 엔드부터 백 엔드, 데이터베이스로 구성된 웹 아키텍처 요소 요소에 사용되는 주요 언어들에 대한 기본 개념 정도도 필수이고요.” 소프트웨어 개발을 꿈꾸는 이들이 알아두면 좋을 코드 10가지는 다음과 같다.

1. 자바
자바는 인기도 많고 유연성도 좋은 오픈소스 프로그래밍 언어다. 나온 지 약 20년 정도 됐고, 솔직히 일반인들 중에서도 자바라는 이름을 못 들어본 사람이 없을 정도로 세상 모든 곳에 퍼져있다. 코드 훈련소인 코딩노매즈(CodinNomads)의 공동 창립자인 라이언 데스몬드(Ryan Desmond)는 “자바는 컴퓨터에서부터 전화기 안쪽까지, 모든 곳에 존재한다”고 말한다. “또한 민간 부문과 공공 부문, 중소기업에서 대기업에까지, 모든 조직에서도 자바는 활발히 사용되고 있습니다.”

그렇게 사이버 공간 곳곳에 편재해 있다는 것이 자바의 강점이고, 앞으로 더욱 강세가 될 이유다. “초연결 시대에는 서로 다른 기기와 기술들끼리의 호환성이 가장 중요한 이슈입니다. 이렇게 연결과 호환의 문제를 해결하기 위해 가장 많이 사용하는 것은 RESTful API들입니다. 그리고 이 RESTful API와 가장 많이 사용되는 언어는 자바죠. 게다가 전 세계에서 가장 많이 사용된다는 OS은 안드로이드 역시 자바의 힘으로 만들어진 것이고요. 오래되고 누구나 알고 있다는 것 자체가 자바를 더욱 중요하게 만들 것이며, 그러므로 자바는 모든 프로그래머들의 필수 소양과 같은 언어가 되었습니다.”

2. 파이선
프로그래밍 언어들끼리 위계가 있어 피라미드로 구성이 가능하다면, 아마 파이선이 가장 위에 있을 것이라고 말하는 개발자들이 많다. 파이선은 범용성이 대단히 좋은 웹 개발용 프로그래밍 언어로 소프트웨어 개발자들에게는 일종의 지원 도구(support tool)와도 같다. 과학적 분석을 위한 컴퓨터 프로그램을 만들 때, 데이터를 채굴할 때나 머신 러닝 알고리즘을 만들 때, 파이선이 사용된다.

“현재 가장 촉망받는 분야 중 하나로 무서운 성장세를 보이고 있는 데이터 과학은 이미 파이선으로 점철되어 있죠. 컴퓨터 과학과 관련된 여러 분야 중 가장 인재에 대한 수요가 높고, 전문가의 몸값도 빠르게 오르고 있는 분야를 파이선이 차지하고 있는 겁니다.” 이는 소프트웨어 개발 업체인 버그리플레이(BugReplay)의 CTO 샘 코프만(Sam Kaufman)의 설명이다.

소프트웨어 개발 분야의 헤드헌팅 전문 기업인 스트라이드서치(Stride Search)의 부회장 데렉 존슨(Derek Johnson)은 “파이선은 다목적 프로그래밍 언어이기 때문에 ‘반짝 인기’보다는 ‘꾸준히 애용’될 가능성이 높다”고 설명한다. “게다가 IT 기업의 최고 정점에 있는 구글이 애플리케이션 개발에 파이선을 활용한다는 사실도 파이선의 가치를 높여줍니다.”

3. 자바스크립트
자바스크립트 역시 그 높은 인기와 수요가 당분간 낮아질리 없어 보이는 언어 중 하나다. 아니, 그런 언어들 중에서도 단연 대표적이다. 코딩 도조에 의하면 “현직 개발자들의 80%가 사용하고 있으며, 모든 웹사이트들의 동적 논리 95%에도 자바스크립트가 사용된다”고 한다. 더군다나 자바스크립트용 프론트엔드 프레임워크인 리액트(React)와 앵귤러JS(AngularJS) 등도 사물인터넷과 모바일 기기의 확산으로 그 미래가 밝은 상태다.

npm이라는 개발 회사의 COO인 로리 보스(Laurie Voss)는 “모든 브라우저의 네이티브 언어로는 자바스크립트가 유일하다”며 “그렇기 때문에 모든 개발자에 있어 필수 전공”이라는 입장이다. “오히려 자바스크립트만 알아도 충분한 상황이기 때문에 개발자들은 자바스크립트가 존재하고, 현재의 위상을 가지고 있다는 것이 감사한 일이죠. 물론 제2의 자바스크립트가 또 나타나면 애기가 달라지겠지만요.”

2018년에도 자바스크립트에 대한 수요는 여전히 높을 것이라고 로리 보스는 전망한다. “제 집을 걸어도 좋아요”라고 말하는 건 소프트웨어 업체인 거너 테크놀로지(Gunner Technology)의 CEO인 코디 스완(Cody Swann). “써본 사람들은 더 잘 알지요. 자바스크립트가 얼마나 효율적인지. 그냥 다 쓰니까 쓰는 게 아니라, 언어로서도 훌륭합니다. ‘롱런’이 예상될 수밖에 없어요.”

웹사이트 개발 회사인 제이 나인(Jay Nine)의 CEO 제리 니헨(Jerry Nihen)도 “자바스크립트가 단연 2018년도의 1위 언어가 될 것”이라고 전망한다. “이미 모든 웹과 모바일 환경이 자바스크립트로 이루어져 있습니다. 그 영향력이란 건 실로 어마어마해서 그 어떤 성능을 가진 언어가 새롭게 나타난다고 해도 대체가 가능할 것 같지 않습니다. 사용자들 대부분 자신들이 누리고 있는 기능들 대부분이 자바스크립트로 구성되어 있다는 걸 인지하지도 못할 겁니다.”

콘텐트 관리 시스템 및 애플리케이션을 개발하는 솔로데브(Solodev)의 수석 아키텍트인 로스 윌리엄즈(Ross Williams)는 “이미 차세대 개발자들 대부분은 뭘 만들든 자바스크립트 하나로만 다 해내고 있다”며 그 보편성이 개발자들 사이에서 이미 세대를 초월하고 있다고 증언한다. “또한 소프트웨어 개발이라는 경력 초입 단계에서 가장 선호되는 것 또한 자바스크립트라는 뜻이죠. 자바스크립트의 미래는 밝습니다.”

4. C++
언어들 중 선배 격에 속하는 C++의 인기는 여전히 높다. 하지만 최근 들어 젊은 언어들이 등장하며 심각한 경쟁 상태에 놓여 있다. 원래는 C라는 프로그래밍 언어의 확장판 개념으로 등장했지만, 이미 수많은 애플리케이션 소프트웨어, 컴퓨터 게임, 드라이버, 클라이언트-서버 애플리케이션, 펌웨어를 만드는 데 사용되었고, 지금도 그러고 있다.

하지만 코딩 도조는 “C++가 지나치게 어렵고 복잡하다고 호소하는 프로그래머들이 늘어나고 있다”고 말한다. 특히 C++와 경쟁 관계에 있는 ‘젊은’ 언어들과 비교했을 땐 이 단점이 더 뚜렷하게 드러난다. 차세대 프로그래머들 사이에서 파이선이나 자바스크립트에 비해 선호도가 낮을 수밖에 없다. 그렇지만 역사가 오래된 대기업이나 국가 기관의 시스템을 유지, 점검하려면 C++에 대한 지식이 필수다.

자동차 산업 부문에서 웹 개발을 전문으로 하는 카구루스(CarGurus)의 부회장 올리버 크르잔(Oliver Chrzan)은 “C++에 대한 수요가 2018년 당장에 낮아질 것은 아니지만, 지금의 상태로 보면 시한부 인기를 누리고 있는 것 뿐”이라고 말한다.

5. C#
역시 꽤나 오래된 C#은 마이크로소프트가 만든 객체 지향형 프로그래밍 언어다. 마이크로소프트의 .NET 플랫폼에서 사용되는 것을 목적으로 만들었고, 특히 프로그램을 보다 빠르고 정확하게 만들기 위해 고안됐다. 하지만 ‘강력한 프로그래밍’을 장점으로 하고 있어서 게임 개발에 널리 활용되고 있다. 니헨은 “언어에 강력함을 더해주기 때문에 C#은 2018년에 큰 인기를 누릴 것”이라고 보고 있다. “최근 언어를 잘 사용하는 게 세련되어 보일 수도 있지만, 예전의 강력한 언어를 능숙하게 다루는 것도 이 시장에서는 꽤나 큰 매력입니다.”

6. PHP
웹 개발자들에게 가장 인기도 높고 악명도 높은 언어 중 하나가 바로 PHP다. PHP는 HTML이 할 수 없는 일들을 해주기도 하며, MySQL 데이터베이스와 작용할 때도 사용된다. 윌리엄즈는 “PHP도 자바나 C++처럼 우리 주위에 항상 있어왔던 언어 중 하나로, 그러한 역사와 익숙함 때문에라도 절대 사라지지 않을 것으로 보인다”고 말한다. “다만 새로운 기능이 덧입혀질 수는 있겠죠. 다른 언어와의 호환성이 더 높아질 수도 있고요.”

하지만 크르잔은 “PHP가 앞으로도 멀티스레딩 기능을 지원하지 않는다면 지금의 위상을 유지하기 힘들 것”이라고 내다본다. “모든 프로세서가 다수의 코어를 가지고 있는 지금, 멀티스레딩이 되지 않는다는 건 말이 되지 않아요. PHP는 몰락할 수도 있습니다. 하지만 멀티스레딩을 지원하는 쪽으로 변해가리라고 보는 게 더 현실적이겠죠.”

7. 펄
코딩 도조는 “펄5와 펄6의 인기는 꾸역꾸역 높아지고 있다”고 말한다. “시스템 관리자와 네트워크 관리자들 사이에서 특히 인기가 높아지고 있습니다. 펄은 ‘아교의 언어(glue language)’라는 별명을 가지고 있죠. 서로 다른 소프트웨어의 요소들을 이어 붙여주는 데 훌륭한 성능을 보여주거든요.”

하지만 펄의 전성기가 얼마 남지 않았다고 보는 이들도 있다. 글로벌 소프트웨어 엔지니어링 업체인 유노스퀘어(Unosqure)의 회장인 지안카를로 디 베체(Giancarlo Di Vece)는 “우리가 보기에는 PHP와 펄의 인기가 지속적으로 감소하고 있다”는 입장이다.

8. 스위프트
2014년 애플이 발표한 꽤나 젊은 언어로 iOS와 맥OS 시스템을 위한 프로그래밍 툴이다. 출시 시기나 작동되는 환경, 목적 등에 어울리게 현재 모바일 환경에서 인기가 높아지고 있다. 모바일 개발 플랫폼 업체인 렐름(Realm)의 CMO인 폴 코파키(Paul Kopacki)는 “얼마 전까지만 해도 스위프트라는 게 존재하는 줄도 몰랐는데, 어느 날 갑자기 iOS 개발자들이 다 스위프트를 사용하고 있더라”고 말한다. “읽고 쓰는 게 용이하다는 게 가장 큰 장점인데, 그 용이함이 어느 정도냐면 자연어(영어)와 흡사할 정도입니다.”

9. R
최근 한 조사에서 ‘싫어하는 사람이 가장 적은 언어’로 뽑힌 R은 2017년에 슬슬 인지도를 넓히더니 2018년 초반인 지금 ‘꼭 배워야 할 만한 언어’에 근접해 있다. 이는 빅 데이터와 데이터 분석, 데이터 과학에 대한 수요가 높아졌기 때문이다. 데이터를 처리하는 데에 있어 R이라는 언어가 주목받기 시작한 것이다. 코딩 도조는 “R은 매우 강력한 언어로, 확장성도 좋고 무료로 배포된다는 장점을 가지고 있다”고 설명한다. “데이터 채굴과 데이터 분석 분야가 성장하면서 R 역시도 함께 자라갈 것입니다.”

10. 러스트(Rust)
구글 트렌드(Google Trends) 검사에 의하면 러스트라는 언어의 인기 상승도가 심상치 않다. “모질라의 새로운 시스템 언어인 러스트는, 개발자들 사이에서도 특히 시스템 언어 커뮤니티 내에서 많이 언급되고 있습니다.” 보스의 설명이다. “2018년이 다 가기 전에 개발자라면 러스트에 대해 분명히 알아보는 시간이 있을 겁니다. 자의든 타의든 말이죠.”

그렇다면 가장 인기 없는 언어는? 루비
역동적인 오픈소스 프로그래밍 언어의 대표 주자처럼 칭송 받던 루비(Ruby)는 “저물기 시작한 지 오래”라는 평을 받고 있다. 미서라키스는 “프로그래밍 언어도 유행이 빠르게 바뀌는 편”이라며 “여기에는 여러 가지 이유가 있다”고 말한다. “루비에 대한 수요가 줄어드는 이유를 정확히 알 수는 없지만, 확실히 여러 조사를 통해서나 현장에서의 느낌을 통해서도 알 수 있습니다. 루비는 점점 사라지고 있어요.”

코딩 전문 학원인 오리진 코드 아카데미(Origin Code Academy)의 강사 마이클 로버츠(Michael Roberts)는 “젊은 개발자들은 빠르고 쉬운 언어를 선호한다”며 “최근 루비보다는 엘릭서/피닉스(Elixir/Phoenix)를 선호하는 사람들이 늘어나고 있다”고 설명을 덧붙였다.

언어를 배우기 전에 가장 중요한 건…
코딩 도조는 “어떤 언어를 배우기로 하든 결국 알고리즘을 만들 줄 아는 능력 자체가 가장 중요하다는 걸 잊지 말아야 한다”고 강조한다. “언어를 많이 알아서 훌륭한 개발자가 되는 게 아니라, 알고리즘을 만들 줄 알아서 훌륭한 개발자가 되는 겁니다. 언어는 유행에 따라 갑자기 나타났다가 금방 사라지기도 해요. 언어 숫자를 꼽아가며 ‘나 몇 개 할 줄 알아’라고 자랑하는 건 스스로를 한 철 장사꾼으로 취급하는 거랑 같습니다.”

결국 알고리즘을 통해 문제를 해결할 줄 아는 개발자라면 어떤 언어를 구사하든 회사들이 모셔가려고 할 것이라고 미서라키스는 말한다. “알고리즘 자체를 만들 줄 안다면, 그 다음에 오는 게 ‘어떤 언어로 이를 표현할 것인가’죠. 알고리즘을 만드는 것에 아무런 문제가 없는 개발자라면 위의 10가지 언어 중 몇 가지를 선택해 언어의 기초 개념과 활용법을 배울 것을 권합니다.”
[국제부 문가용 기자(globoan@boannews.com)]

[출처] http://www.boannews.com/media/view.asp?idx=66576&mkind=1&kind=1#

436 total views, no views today

1월 23

인텔 CPU 보안패치 업데이트 했더니 더 심각한 오류가…

인텔 CPU 보안패치 업데이트 했더니 더 심각한 오류가…

업데이트후 잦은 리부팅 오류
“예상보다 오류·결함 더 심각
보완 테스트후 새 패치 배포”

인텔 CPU 보안패치 업데이트 했더니 더 심각한 오류가…
인텔이 중앙처리장치(CPU) 보안 결함 업데이트 이후 생기는 리부팅 오류와 관련해 “가장 최근 버전의 CPU 패치 업데이트를 멈춰달라”고 통보했다.

[디지털타임스 강해령 기자]인텔의 중앙처리장치(CPU) 보안 결함을 위한 패치 업데이트 후 시스템이 자꾸 리부팅 되는 오류가 발견됐다.

치명적인 CPU 보안 결함을 막겠다며 내놓은 패치가 오히려 컴퓨터 시스템 오작동을 일으켜, 인텔이 다시 한 번 도마에 올랐다.

인텔은 최신 보안 패치 업데이트를 중지해달라고 요청했다.

22일(현지시간) 나빈 셰노이 인텔 총괄 부사장은 인텔 공식 블로그를 통해 “애초 예상했던 것보다 리부팅 오류와 각종 결함이 더 크게 나타나고 있을 것”이라며 “각 PC 제조사들과 클라우드 서비스 제공사들, 시스템 제조업자, 소프트웨어 총판업체, 일반 소비자들은 최신 버전 패치 업데이트 실행을 멈춰달라”고 요청했다.

최근 4세대와 5세대 인텔 CPU를 사용하는 소비자 사이에서 보안 패치 업데이트 이후 리부팅 오류가 발생한다는 불만이 제기됐다.

셰노이 부사장은 지난 11일 “몇몇 사용자들이 패치 업데이트 이후 문제를 겪고 있다는 보고서를 받았다”며 결함을 인정했다.

이 문제와 관련해 셰노이 부사장은 “4~5세대 CPU에서 리부팅 오류가 발생하는 근본적인 이유를 찾았다”며 “지난 주말 파트너 업체들과 오류를 보완한 솔루션을 테스트를 했고, 테스트를 완료하는 대로 솔루션을 배포할 것”이라고 전했다.

이번 게시글에서는 4~5세대 인텔 CPU를 제외한 제품군의 리부팅 오류는 언급되지 않았다.

일각에서는 8세대 CPU 시리즈를 제외한 아이비 브리지, 샌디 브리지, 스카이 레이크, 카비 레이크 등 최신 CPU 시리즈에서도 보안 패치 업데이트 후 부작용이 발생한다는 주장이 제기되고 있다.

인텔도 17일 이를 인정하면서 “내부적으로 근본 원인을 확인하는 과정을 거치고 있다”고 밝혔다.

회사는 이달 초부터 CPU의 구조적 결함으로 인한 멜트다운, 스펙터 보안 사고 위험을 막겠다며 보안 패치 업데이트를 진행해왔다.

강해령기자 strong@
[출처] http://www.dt.co.kr/contents.html?article_no=2018012302109932056002

498 total views, no views today

1월 4

2018년엔 어떤 기술이 시장을 주도할까

2018년엔 어떤 기술이 시장을 주도할까

      2018-01-04
IHS 선정 2018년 기술 동향 Top 8

[보안뉴스 김성미 기자] 4차 산업혁명이 본격화되며 사물인터넷(IoT)부터 클라우드, 인공지능에 이르기까지 세상을 변화시킬 혁신적 기술 도입이 가속화되고 있다. 이 가운데 글로벌 산업분석 및 컨설팅 기업 IHS 마킷(Markit)은 최근 2018년 국제 기술시장에 지각변동을 일으킬 8가지 혁신 기술을 선정해 발표했다.

[사진=iclickart]

IHS가 선정한 혁신 기술과 전망은 다음과 같다.

1. 인공지능
인공지능(AI)은 여러 산업에서 경쟁력 있는 차별화 요소로 사용될 정도로 발전한 상태다. 특히, 스마트폰, 자동차 및 의료 시장에서 인공지능의 활약은 주목할 만하다. 온디바이스(On-device) 최적화 대(對) 클라우드 기반 솔루션 또한 두각을 나타내고 있다.

컴퓨팅 능력을 강화한 클라우드 인공지능은 딥러닝 알고리즘을 활용해 데이터를 분석한다. 하지만 사생활 침해, 지연시간(Latency), 안정성 등은 여전히 해결해야 할 과제다. 온디바이스 AI는 이러한 문제를 어느 정도 해결하는 데 도움을 줄 수 있다. 예를 들어, AI를 탑재한 스마트폰 사용자들은 정보를 기기에 저장하고 이를 통해 사생활을 보호할 수 있다.

2. 사물인터넷
IHS 마킷은 세계 사물인터넷(IoT) 기기 시장이 설치 기준 2025년 730억달러 규모로 성장할 것으로 전망했다. 엣지 컴퓨팅, 클라우드 분석 및 첨단 커넥티비티 옵션의 융합이 2018년 IoT의 성장 및 4단계 진화 단계(Connect, Collect, Compute, Create)를 가속화할 것으로 분석했다. 아울러 이 시장은 저전력 무선 액세스(LPWA: Low-power wireless access) 등 IoT 커넥티비티의 향상이 견인할 것으로 예상했다.

또한, IoT 관련 기술들도 점차 고도화되며, 머신 비디오 및 유비쿼터스 비디오는 영상분석의 새로운 유형을 낳을 것으로 기대했다. AI, 클라우드 및 가상현실화는 컴퓨팅 네트워크의 ‘엣지(Edge)’ 데이터를 기반으로 한 중요한 인사이트를 개발하는 데 유용할 것이란 설명이다. AI 기술을 데이터에 적용할 경우, 비용 절감을 통한 수익 증대와 효율성 제고, 상품 중심에서 서비스 중심으로의 비즈니스 모델 전환 등이 가능할 것으로 예상했다.

3. 클라우드 및 가상현실화
클라우드 서비스는 기술적으로 미숙한 기업들이 머신러닝과 AI를 활용하고 데이터를 이해하는 데 혁신적인 길잡이의 역할을 하게 될 것으로 예상했다.

4. 커넥티비티
5G 기술이 상용화되면 커넥티비티가 주목을 받게 될 전망이다. 그러나 5G의 전면 채택과 사용은 모바일 네트워크 운영업체와 인프라 제공업체, 장비업체, 최종 소비자들에게 기회를 제공하는 동시에 과제 역시 안겨줄 것이어서 도입까지 시간이 필요하다. 다만 기존의 휴대전화 기술이 이동 전화와 브로드밴드에 국한되어 있었다면, 5G 기술은 다양한 IoT 기기와 운영에 필수적인 애플리케이션까지 사용할 수 있도록 급격한 확장을 가능하게 할 것이어서 주목된다.

5. 유비쿼터스 비디오
소비자나 기업이 사용하는 다양한 기기에서 스크린 및 카메라 사용 증가와 더불어 방송 및 유무선 데이터 네트워크의 첨단화가 이루어짐에 따라, 동영상 소비와 창작, 유통 및 데이터 트래픽이 폭발적으로 성장했다. 게다가 비디오 콘텐츠는 오락을 넘어 보안과 의료, 교육, 원격조종, 디지털 사이니지 등으로 점차 확장되고 있다.

6. 컴퓨터 비전
컴퓨터 비전이 점차 중요해지고 있다. 산업과 기업, 소비자 등 전 부문에 걸쳐 진행되고 있는 디지털화라는 주요 동향과 직접 연결돼 있기 때문이다. 이미지 센서의 확산과 이미지 프로세싱 및 분석 능력 향상은 다양한 애플리케이션을 가능하게 할 뿐만 아니라 산업용 로봇과 드론, 지능형 교통 시스템, 최첨단 감시, 의료 및 자동차 등 다양한 분야에서 활용되고 있다 .

7. 로봇과 드론
로봇과 드론의 세계 시장은 2018년 39억달러 규모로 성장할 전망이다. 로봇과 드론 시장의 성장이 실제로 의미하는 바는 이들이 제조와 산업에서 오랫동안 명맥을 유지해온 사업 모델을 근본적으로 변화시킬 수 있는 와해성을 지녔다는 것이다. 이 기술은 물류와 재료의 채집 및 처리, 자율 운송 및 운반 등 주요 분야에 크게 영향을 미칠 것으로 보인다.

8. 블록체인
블록체인은 비트코인과 에테르 등 디지털 화폐의 거래를 위한 기반 기술로 거래의 분권화를 가능하게 만든다. 블록체인 기반 서비스는 금융 서비스에만 국한되지 않고 다른 분야에서도 이미 개발되고 이용되며 2018년에도 그 성장세를 이어갈 것으로 보인다. 블록체인은 광고 측정 개선과 광고 사기행위 차단, 음원 저작권 사용료 분배, 전자 공급망 추적 및 관리 개선을 위한 솔루션 강구 등 다양한 방식으로 사용될 것으로 보인다.
[김성미 기자(sw@infothe.com)]

[출처] http://www.boannews.com/media/view.asp?idx=65896&mkind=2&kind=5#

528 total views, no views today

1월 1

SOL 개발자의 현주소 : 개발자가 SQL 작성시 고쳐야 하는 태도

SOL 개발자의 현주소 : 개발자가 SQL 작성시 고쳐야 하는 태도

1. 테이블의 구조와 칼럼의 데이터 타입을 모르고, SQL을 작성한다.

2. NULL 의미를 모른다. 공집합의 개념을 모른다. NWL/ISNULL 함수를 남발한다.

3 . 불필요한 [스칼라] 서브쿼리, 한수를 남발한다. (→조인으로)

4. 인덱스의 역할을 이해하지 못한다.

5. 인덱스 사이즈가 테이블보다 몇 배 크다.

6. 성능을 고려하지 않고 Dynamic SQL을 작성한다.

7. UNION ALL을 고민하지 않고 UNION을 사용한다.

8. MultiColumn IN List, Correlated SubGuery Update, Rollup/Cube 그룹함수, Rank/Dense_Rank 윈도우 한수 등 을 활용해 짧고 최적 화된 SQL을 작성하지 않고, SQL 문장을 복잡하고 비효율적이고 이해하기 힘들게 작성한다.

9. 실행계획과 옵티마이저의 역할에 관심이 없다. (류닝 출발점)

1,365 total views, no views today