우리는 어떻게 여기까지 왔을까



우리 주변을 둘러보자. 스마트폰, PC, 냉장고, TV, 자동차. 과연 이 많은 것들은 어떻게 생겨났을까? 이러한 물건들이 없는 시절은 어땠을까? 오늘날의 세상을 만든 혁신을 알아볼 수 있는 책이다. 혁신이 나오기 위해서는 아이디어가 있어야 한다. 이러한 아이디어는 과연 어디서 나오는 것일까? 우리 인간은 진화에 의해 탄생되었다고 찰스 다윈의 <종의 기원>에서 말하고 있다. 오래 전 인류의 조상들은 생존이라는 문제를 해결하고자 그들의 지능과 생활 양식을 변화시키기 시작했으며, 살아남는 종을 통해 인간으로 진화가 되었다. 아이디어 또한 어느 한 순간에 생겨나지 않는다. 특정한 문제를 해결하고자 하는 욕구가 아이디어를 만들고, 때론 기발하고 독창적인 아이디어로 인류의 삶의 방식과 모든 것을 바꾸기도 한다. 찰스 다윈이 말하고 있는 '공진화(서로 다른 종이나 개체가 물리적으로 서로 협력하며 생존하는 것)'란 바로 아이디어와 혁신에서도 적용된다는 뜻이다. 하나의 아이디어가 또 다른 아이디어를 만들고 서로가 같이 혁신으로 발전되기도 한다. 이 책에서는 그 예로 구텐베르크 인쇄술의 발달로 현미경이 개발되었음을 예를 들고 있다. 이런 예시외에도 다양한 '나비 효과'가 존재한다. 어쩌면 지금 필자가 생활하고 있는 모든 것이 '나비 효과'에 의한 것일 수도 있다.




나비 효과 (출처 : www.google.com)

어떤 사람들은 컴퓨터를 사용할 때 컴퓨터의 원리와 작동방식에 대해 알려고 하지 않고, 단순히 일반적인 사용이 머무르며 그 유용성을 느끼고자 한다. 하지만 과학자나 엔지니어는 다르다. 사물의 아름다움을 보려할 때 그 원리와 구조, 작동 방식등 모든 것을 뜯어보며 그 미학을 느끼고자 한다. 그렇지 않다고 해서 그 사람의 가치 판단이나 사고가 틀린 것은 아니다. 하지만, 진정한 아름다운은 사물의 자체가 그 역사와 어울려야 풍길 수 있다고 생각한다. 그러면 오늘 날의 혁신을 이끈 6가지 아이디어의 기원은 무엇일까? 이 책을 읽으면서 한 번 느껴보자.



유리


어쩌면 유리는 발명보다는 발견에 가깝다. 2600만 년 전, 사하라사막의 모래밭에서 모래 알갱이들이 서로 뭉쳐 유리를 형성했고, 오래전 이를 발견해 장신구로 팔기 시작했다. 창문, 디스플레이, 안경, 현미경, 인터넷, 비행기 등 유리의 발견은 매우 중요하다고 본다. 많은 사람들이 인터넷과 비행기와 유리의 연관성에 대해 궁금해 할 것이다. 정보를 전송하고 수신할 때 필요한 광섬유가 바로 그것이다. 유리를 통해 빛의 신호를 전달하는데, 빛의 반사성을 이용해 바다 건너 있는 지역까지 정확하고 빠르게 정보를 전송할 수 있다. 참고로 대서양에는 10개의 광섬유가 바닷속에 두꺼운 케이블 형태로 깔려 있는데, 이로 인해 우리는 YouTube나 Facebook으로 유럽의 소식을 볼 수 있는 것이다.


광섬유 (출처 : www.google.com)

비행기는 단단함과 동시에 가벼워야 한다. 하늘을 좀 더 효율적으로 날기 위함이다. 기존의 알루미늄만으로는 강도의 한계가 있다. 따라서 유리 섬유를 겹겹히 붙여 철보다 단단하고, 알루미늄 만큼 단단한 동체를 제작해 낸다. 비행기보다 더 많이 이용되는 부분은 바로 배이다. 작은 보트 및 요트의 경우 틀 안에 유리 섬유를 깔고 액체 플라스틱으로 배 동체 모양 형태로 만든다. 지난 EBS '극한 직업' 바다를 낚는 사람들 편에 수제 보트를 만드는 장면을 참조해보자.


다양한 소재로 만들어지는 비행기(출처 : www.google.com)

냉기


올 여름 유난히도 더웠다. 만약 이 더운날 에어컨과 얼음이 없었다면 어땠을까? 상상만 해도 온 몸에 땀이 흐른다. 19세기 무역과 상업이 발전하면서 더운 여름날에 음식의 보관과 유통을 위해 얼음의 수요가 급속히 늘어났다. 당시에는 얼음을 만드는 기술이 없었기에, 얼음의 냉기를 유지하는 보냉 기술에 중점을 두었다. 톱밥과 이중벽을 통해 얼음을 열로 부터 차단하고자 하였다. 지금도 생활에 자주 사용하는 스티로폼도 공기층을 많이 하여 열로 부터 내부를 차단하는 것이다. 19세기 초 겨울에 얼음을 운반 및 보관하여 1년 내내 쓰는 기술이 탄생한 것이다.


오늘 날 단열재의 구조(출처 : www.google.com)

에어컨이라는 공기 순환 장치는 우리 삶을 어떻게 바꾸었을까? 사람들은 더 이상 더위로 인해 추운 곳에 있을 필요가 없어진 것이다. 더위를 에어컨이라는 장치로 해결했기 때문에 미국의 남서부, 영국의 런던 등. 온대 기후 지방으로 인구가 이동한 것이다. 이처럼 한 사람의 아이디어와 발명이 인구의 이동까지 변화시킨 것이다. 



"

소리, 청결, 시간, 빛

"


필자는 공학을 전공하고 있다. 18세기 산업 혁명 이후 급속도로 발전한 공학은 지구상의 이전까지 변화를 합한 것보다 더 많은 혁신과 변화 창조를 이루어냈다. 2017년 현재는 매일이 바뀌고 있으며, 어쩌면 오늘 우리가 여기까지 어떻게 온지에 대한 책을 쓸려면 1시간마다 책의 내용이 바뀌어야 될 정도로 빠르게 세상이 변하고 있다. 절대 빠르게 변화하는 세상에서 자신의 주관을 잃지 말자. 남들의 조언과 당부를 들어주되, 그들의 시선을 의식하지 말고, 주체적으로 살아가자. 필자가 추구하는 삶도 우리 세상이 어떻게 바뀌었고, 앞으로 어떻게 되는지에 대해  아는 것이다.



『남들의 조언과 당부를 들어주되, 그들의 시선을 의식하지 말고,

주체적으로 살아가자.』

공부하는 독종이 살아남는다



Part1. 나이 들어 하는 공부가 진짜다


공부란 보통 중학교, 고등학교 때 많이 한다고 생각한다. 하지만, 당시에 하였던 공부가 진정한 공부였을까? 현재 우리는 100세 인생을 바라보며 살고 있다. 길고 긴 인생에서 길어야 10년 간의 입시 공부, 과연 진정한 공부일까? 대학에 입학하면 이제 자신만의 공부를 조금씩 하기 시작하나 그래도 우리에게는 학점과 시험이 있다. 직장인이 되면 이제 '승진'이라는 밥벌이가 내 앞에 놓이게 된다. 먹고 살기 위해서 필사적으로 공부에 매진하고 열중한다는 뜻이다.


절실한 만큼 몰입이 쉽다.

창의적인 공부가 가능하다.

풍부한 경험이 공부의 요령을 찾아 준다.

자기 진단이 된 상태이다.

물질적, 정서적으로 보다 많은 투자를 할 수 있다.

성취감이 더 크다.


시켜서하는 공부가 아니라, 드디어 나의 공부를 하게 된다. 필자도 그렇다. 고등학교 때는 필사적으로 문제를 풀고, 내용을 받아적고, 필기를 하게 된다. 고등학교 때의 공부가 절대 헛되다고 생각하지는 않지만, 이러한 방식으로는 공부하고 싶지 않다. 자신이 좋아하는 것을 느끼고, 세상과 소통하며 창의적이고 주도적으로 공부하는 것이 어쩌면 더 마음에 든다.



그러면 나이와 공부와의 상관관계는 어떨까? 결론은 자신의 마음먹기 나름이다. 나이와 상관없이 훈련과 반복에 따라 달라지는 '통괄성 지능'이란, 현상을 파악하는 능력, 기획력, 의사 결정력, 관리 능력 등 많은 정보를 통합하고 통괄하는 능력이다. 나이가 들 수록 통괄성 지능은 더욱 상승한다. 명심하자! 필자가 생각하는 공부는 평생공부이다. 꾸준히, 그리고 재미있게.





Part2. 뇌과학을 알면 공부의 길이 보인다.


작가의 직업이 의사인 만큼 공부와 뇌과학의 관계를 잘 설명하고 있다. 공부의 성패는 지능보다는 공부법의 효율성이라고 주장하고 있다. 필자도 공감한다. 실제로 연구결과에 의하면, 인간의 지능이 학습 성취도 영향을 미치는 정도는 초등학교때가 가장 높고 나이가 들수록 낮아지며, 대학교 이후에는 극히 낮다고 한다. 이보다 더 중요한 것은 자기 절제력이라고 한다. 어쩌면 작가 말하고 있는 공부법의 효율성은 자신을 돌아볼 줄 알며, 스스로를 채찍질하며 다스릴 줄 아는 방법을 말하고 있는 것 같다. 

공부와 뇌과학의 관련성을 가장 잘 설명하는 내용은 바로 호르몬이다. 우리 뇌에서는 수많은 호르몬이 나오고 있다. 작심삼일이라는 말이 그냥 나온 것이 아니다. 바로 부신 피질의 방어 호르몬의 지속시간이 72시간이기 때문이다. 우리 뇌는 변화, 모험, 발전과 성장, 시간 제한, 지적 쾌감, 플로의 경지의 자극을 좋아한다. 이러한 자극을 계속적으로 주어 집중력있게 공부를 해야 한다.

세로토닌의 분비를 늘리고자 잘 씹고, 심호흡하고, 걷고 달리고, 사랑하고, 모여 살아야 한다.



Part3. 공부 능력 두 배로 키우는 잠재의식 활용법


여러분들은 잠재의식에 대해 얼마나 아는가? 잠재의식은 느낄 수도 없고, 인지할 수도 없다. 우리가 느끼고 인지하는 의식 아래에 잠재의식이 존재하기 때문이다. 인간은 창조하고 그것을 기억하고 잠재의식에 정리되고 저장된다. 우리가 꿈꾸는 램(RAM)수면 상태일 때 잠재 의식으로 넘어가 낮의 기억을 분류하고 정리한다. 어느 날 갑자기 수학 문제나 특정 솔루션이 갑자기 머릿속에서 튀어나올 때가 있다. 잠재의식 속의 결정이 의식으로 넘어와 우리가 인지한다는 것이다. 일반적으로 잠재의식은 잠복되어 있으나, 만약 수많은 의식의 경험을 거치도 이것이 축적된다면 잠재의식의 활용도 더욱 높아질 것이다. 


"

많은 걸 공부하고 기억하면서 잠재의식 속의 창고를 채워야 한다.

"




항상 그렇지만 공부와 관련된 도서는 우리에게 심한 채찍질을 하고 있다. 평소 우리의 모습과는 다르다. 그런데, 다들 대부분의 책들이 한 가지 '꾸준히'라는 단어는 어디서나 볼 수 있다. 공부의 힘을 기르는데에 가장 큰 역할은 '꾸준히'이다. 본인의 강점을 살려 후천적인 노력으로 '창조적 인재'가 된다는 것은 결국, 자기 자신의 모습을 보여주는 것이다. 어떤 독자들은 '자기계발서는 전부다 같은 얘기를 하고 있어서 지루하고 의미 없어'라고 말한다. 그렇다. 대부분 비슷한 얘기를 하고 있다. 하지만 많은 자기계발서를 비롯한 여러 책들을 읽으면서 경험과 지혜를 쌓는 것도 한 방법이겠지만, 1권의 책을 읽더라도, 그 책에서 요구하는 딱 1가지만 실천했으면 한다. 그러면 자기계발서 100권을 읽게되면 본인은 이미 자기계발서 1권을 낼 수 있을 만큼 성공한 사람이 되었을 것이다. 물론 필자도 그러길 바란다.




      『

리몸, 뇌, 의식을 깨우치며 진정으로 하는 진짜 공부, 당신의 미래를

책임지고 또 180도 달라지게 만들 것이다.

당장 오늘부터이다.

』     

파워블로그의 첫걸음, 블로그 글쓰기



누구에게나 글쓰기는 두려운 존재이다. 우리가 어렸을 무렵 다들 일기 한 번씩 써본적이 있을 것이다. 아마 대부분 사람들의 인생에서 가장 솔직하고 진실되고 좋은 글은 어릴 때의 일기장이 아닌가 싶다. 나이가 들어 옛날의 일기장을 들여다보면 나의 어릴 적 모습을 진솔하게 느낄 수 있으니 어찌 좋은 글이 아닐 수 있겠는가. 나이가 들수록 글쓰기는 점점 어려워지고, 복잡해지고, 남들의 시선을 의식하고, 멋있게 보이려 하는 등 여러 기교가 더해진다. 어쩌면 지금 나의 글쓰기도 그럴지 모른다. 하지만, 비단 글쓰기는 우리 삶의 없어서는 안될 존재이고, 남들에게 보이기 위해서든, 밥벌이를 위해서든, 순수한 창작과 즐거움을 위해서든 배우고 느끼고 익혀야 한다. 블로그는 현대인들에게 글쓰기를 배우는데 가장 좋은 장소가 아닌가 싶다.



Chapter 1


글쓰기는 먼저 시작을 해야한다. 블로그이든 A4종이이든 일단 시작해야 한다. 글쓰기에 두려움을 가지지 말고 써내려가야 한다. 자신이 가장 쓰고 싶은 것, 가령 필자에게는 IT, 기술 분야 등의 제품 리뷰나 전공 지식등이 되겠다. 만약 소재는 있는데, 어떻게 써야 하는지 궁금하다면 친구에게 말하듯이 써보자. 자신의 동생이나, 친한 친구, 여자 친구, 부모님 등 평소 자신이 좋아하고 잘 아는 부분을 쉽게 설명해준다는 느낌과 방법으로 글을 써보자.



"

가진 것도, 내세울 것도, 어필할 것도 없다면 특정 주제를 잡고 꾸준히 블로그에 글을 서보라. 어느 순간 사람들이 그 글에 반응하고 좋아하며 당신도 전문가로 인정받는다.

-파워블로그의 첫걸음, 블로그 글쓰기(이재범 저)-

"


Chapter2


우리는 왜 글을 쓸까? 일반적인 사람들은 과연 살면서 얼마나 많은 글을 쓸까? 초등학교 때의 일기, 중학교 때의 반성문, 고등학교 때의 대입 자기소개서와 논술, 대학교 때 시험과 레포트, 직장에 들어가 자기기술서와 제안서, 기획서 등 글 쓸 일은 너무나도 많다. 왜 글을 써야지 묻는다면, 그것은 아마 상황과 목적에 따라 달라져야 한다. 예를 들어, 지금 필자가 이 글을 쓰는 목적은 이 책에 대한 상기와 기록 그리고 공유이다. 만약 직장에 들어가기 위한 자기소개서를 써야 한다면, 그 목적은 취업과 면접관의 선택받음이다. 그만큼 나의 생각을 전달하고 남을 설득하여 마음을 얻고자 글을 써내려가야 한다. 바쁜 현대인들에게 일기를 쓰라고 한다면 어쩌면 힘든 부분이 있다. 하지만 꼭 연필로 쓸 필요는 없다. 자신의 하루를 정리하는 방식으로 스마트폰이나 일기 어플을 사용하는 것도 좋은 방법이라고 본다. 책과 함께 서평을 쓰는 것도 좋은 일기가 될 수 있겠다.



Chapter3


유시민 작가의 [글쓰기 특강]은 글쓰기에 대해 조금이라도 관심있는 사람들을 비롯해 누구나 좋아하는 스테디셀러 중 하나이다. 그만큼 현대인과 글쓰기의 관계와 그 역할을 잘 설명하고 있다. 글쓰기도 공부를 해야한다고 여기서 말하고 있다. [글쓰기 특강], 강원목 저의 [대통령의 글쓰기]등 글쓰기 공부에 관련이 되는 수많은 책들이 있다. 앞으로도 서평부분에서 다양한 책들을 다루어 볼 것이다.


Chapter6


글을 쓰다 보면 무언가 갑자기 문장이 막히고 이 문장이 제대로 뜻을 전달하고 있는지 궁금할 때가 있다. 이 때는 소리내어 읽어보는 것이 좋다. 소리내어 자신의 문장을 읽다보면 어느 덧 좋은 문장이 탄생할 것이다.


Chapter7


필자의 블로그에는 앞으로 많은 리뷰가 올라올 것이다. 리뷰는 자신의 경험을 바탕으로 글을 쓰는 것이다. 자신의 경험이 글이 된다는 것은 곧, 세부적인 경험과 자신의 글쓰는 목적을 분명히 할 수 있을 것이다.



"

단어 없이 글쓰기 없이 책 없이 어떠한 역사도 없으며, 인류의 철학과 인간상의 개념도 없다.

-헤르만 헤세(Hermann Hesse, 독일 소설가-시인)-

"


다들 Google Docs에 대해 아시나요? 구글 문서라고도 하는데요, 워드(Word), 한글과 같은 문서 작업을 도와주는 도구입니다. 저는 웬만한 개인 문서 작업은 구글 문서, 구글 Docs를 활용하고 있는데요. 오늘은 구글 Docs와 스프레드시트에 대해 알아보겠습니다.


Google Docs


Google Docs는 기본적으로 구글 로그인을 해야만 처음 생성할 수 있습니다. 이후 공유 및 수정은 로그인을 하지 않아도 누구나 할 수 있도록 설정할 수도 있습니다.


Google Docs에서 생성되는 모든 문서는 본인의 Google Drive에 저장됩니다. 따라서 구글이라는 플랫폼에서 문서 생성, 수정, 공유까지 일사천리로 진행할 수 있습니다.


처음 Google Docs에 들어가면 다음과 같이 템플릿을 선택할 수 있으며, 최근 작업한 문서들을 볼 수 있습니다.




본인이 원하는 템플릿을 선택할 수도 있지만, 여기서는 가장 기본적인 '내용 없음' 템플릿을 선택해 보겠습니다.


UI구성과 작업 영역은 여타 다른 문서 도구들과 유사합니다. 왼쪽 상단에서 제목을 바로 변경할 수 있으며, 오른쪽 상단에서는 댓글 알림, 공유와 같은 협업 구성을 확인할 수 있습니다. 



기본 화면에서는 뒤로가기, 프린터, 스타일, 글꼴, 정렬등 실제 업무와 문서 작성에 전혀 불편함이 없는 구성입니다.








특히나 다른 프로그램과의 호환성을 위해 docx, PDF, txt, html, epub과 같은 다양한 확장자 형태로 저장이 가능합니다. 이 역시 Google Docs가 마음에 드는 부분 중 하나입니다. 오른쪽 사진과 같이 Google Docs는 기본적으로 수정 모드이지만, 제안 모드, 보기 모드와 같이 일종의 읽기 전용 형태로도 저장이 가능합니다.


참고로 Google Docs를 비롯한 다른 Google 도구들은 기본적인 저장 버튼이 없습니다. 그 말인 즉슨, 변경될 때마다 자동으로 저장된다는 뜻입니다.





[도구]탭에서는 맞춤법 검사, 단어수 파악하기와 같은 기능을 비롯해, 문서 번역, 음성 입력 기능이 기본적으로 있습니다. 문서 번역은 현재 문서 자체를 원하는 언어로 그대로 번역해 새로운 파일을 생성할 수 있는 너무나도 편한 기능입니다. 번역기에서 힘들게 복사하고 붙여넣기하는 것이 아닌, 문서로 모두 복사해서 '문서 번역'만 클릭하면 모든 것이 끝납니다^^


음성 입력은 디바이스의 마이크를 이용해 음성 인식, 즉 STT(Speech to Text)입니다. 키보드 입력이 불편하고 귀찮을 때 너무 좋습니다. 이후 약간의 편집은 필요하지만 음성 인식률은 훌륭합니다.


Google Docs에서 제가 가장 많이 이용하는 기능은 바로 댓글과 동기화 기능입니다.





텐서플로(Tensorflow)는 인공지능을 이용하기 위해 사용하는 파이썬 라이브러리이다. 손쉽게 모델을 구축하고 Traning이 가능하고High-Level API를 제공해 유연하고 강력한 파이썬 코드를 작성하게 도와준다.


텐서란 다차원 배열 데이터라 이해하면 된다. 벡터(1차원), 행렬(2차원), 큐브(3차원) 등등 이 모든 차원의 배열 데이터를 포괄적으로 텐서라고 한다.


tensor-definition

https://stackoverflow.com/questions/37849322/how-to-understand-the-term-tensor-in-tensorflow


텐서플로는 이러한 데이터 흐름 그래프를 사용하는 수치 연산용 오픈소스 소프트웨어 라이브러리입니다. 오픈소스란 누구나 이 코드를 볼 수 있고 수정할 수 있는 형태입니다. 물론 이 코드는 깃헙(GitHub)에서 볼 수 있다.




https://github.com/tensorflow/tensorflow


여기서 텐서플로에 대한 자세한 안내와 어떻게 코드 contribution에 참여할 수 있는지 알 수 있다. 물론 텐서플로의 모든 소스 코드 또한 볼 수 있다. 


오늘은 윈도우 PC기반에서 텐서플로 CPU버전과 텐서플로 GPU버전을 설치하는 방법을 알아본다.



텐서플로 CPU



CPU만 사용해 연산 작업을 수행하는 일반적인 텐서플로 CPU버전은 pip 명령어를 통해 설치한다.


pip install tensorflow




텐서플로 GPU



텐서 연산은 쉽게 말해 병렬 연산입니다. 따라서 CPU보다는 GPU의 하드웨어 성능을 이용하면 효율적인 연산이 가능합니다. 현재는 엔비디아(NVIDIA)의 GPU만 지원하기 때문에 본인의 PC에 엔비디아 그래픽카드가 설치되어 있어야 한다.


그래픽 카드 사양

최소 사양: 텐서플로의 Compute capability의 버전에 따라 다르지만 문서상 최소 사양한 GeForce GT 640(GDDR5)이다. 하지만, 실제 텐서플로를 훤활히 실행하고 어차피 그래픽카드를 구매할 시점이라면 GeForce GTX 1000시리즈를 권장한다. 현재 필자의 그래픽카드 GeForce GTX 1060 6GB를 사용한다. 


https://developer.nvidia.com/cuda-gpus


위 링크에서 CUDA를 지원하는 그래픽 카드를 확인해본다.


그래픽 카드를 준비했으면 이제 소프트웨어를 설치해보자. 소프트웨어 설치는 총 3가지가 필요하다. 멀티GPU는 따로 다루지 않겠다.

  • NVIDIA GPU Drivers: 384.x 이상 버전 설치 
  • CUDA Toolkit: CUDA 9.0
  • cuDNN SDK: CUDA 9.0에 해당하는 7.2버전 이상



NVIDIA GPU Drivers

먼저 GPU 드라이버는 그래픽카드를 처음 설치하면 대부분 설치할 것이다. 하지만 최신 버전이 정확히 설치됐는지 확인한다.



본인의 그래픽 카드에 해당하는 드라이버를 설치한다. 



CUDA Toolkit


쿠다(CUDA)란 엔비디아 그래픽카드에서 개발한 병렬 컴퓨팅 플랫폼 및 프로그래밍 모델이다. 한마디로, 그래픽 카드의 연산 능력을 이용해 CPU보다 효율적이고 빠르게 작업을 수행할 수 있게 도와준다.


텐서플로 공식 홈페이지에서는 최신의 CUDA 10.0버전 다운로드만 가능하니 다음 링크를 이용한다.


https://developer.nvidia.com/cuda-90-download-archive


자신의 운영체제를 선택하고, local 버전으로 1.4GB의 설치 파일을 다운로드 하고 설치한다. network버전은 인터넷 환경에 따라 설치속도가 느릴 수 있으니 참고한다. 버전 확인이 가장 중요하다. 사용자 정의 설치를 통해 Visual Studio 관련 항목 체크를 해제하면 오류없이 정상적으로 설치할 수 있을 것이다.





cuDNN SDK


심층신경망 라이브러리 개발 SDK이다. CUDA 9.0에 해당하는 최신버전을 설치한다.


https://developer.nvidia.com/cudnn



Download cuDNN을 클릭한다. 엔비디아 회원가입이 필요하니 가입 후 로그인한다. 간단한 설문조사를 하고 설치한다.



CUDA 9.0의 최신 버전인 cuDNN v7.3.1 Library for Windows 10을 선택해 다운로드한다.


압축파일을 해제하면 이렇게 3개의 폴더가 있다.



다음과 같이 복사한다.


  • <설치경로>\cuda\bin\cudnn64_7.dll  ->  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin

  • <설치경로>\cuda\ include\cudnn.h   ->  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include

  • <설치경로>\cuda\lib\x64\cudnn.lib  ->  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64


이렇게 총 3개의 파일을 정확한 위치에 복사한다.


다음으로 환경 변수를 설정한다.




  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin

  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\CUPTI\libx64

  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\cuda\bin


이렇게 3개의 경로 또한 Path 변수에 추가한다.


마지막으로 CMD창에서 다음 명령어를 통해 텐서플로 gpu를 설치한다.


pip install tensorflow-gpu


CMD 창에서 파이썬을 실행해 텐서플로 설치가 완료됐는지 확인한다.


>>> import tensorflow as tf


아무런 오류가 없다면 정상적으로 설치된 것이다.


>>> import tensorflow as tf >>> tf.enable_eager_execution() >>> tf.add(1, 2)



이렇게 본인의 GPU를 통해 연산이 됐음을 확인할 수 있다. 간단한 코드를 테스트를 해본 결과이다. GPU가 정확히 인식되며, 만약 GPU가 없을 경우 자동으로 CPU 연산이 이뤄진다. 만약 정상적으로 작동이 안될 경우 기존의 텐서플로를 삭제하고 재설치하며, 환경변수를 확인해보자.







많은 입문자들이 데이터 분석 입문 언어로 R언어를 뽑고 있다. 파이썬과 다르게 R만의 장점이 있다는 것이다. 이 책은 R언어의 입문을 다루는 책이다. 따라서 초보자들이 R스튜디오를 설치하는 방법부터 시작해 데이터 분석을 시작하기에 적합한 책이다. 


이 책에서 소개하는 관점은 다음과 같다.


-전공을 막론하고 초보자가 쉽게 이해하고 따라 할 수 있는 상세한 설명

-데이터 분석에 대해 체계적으로 이해할 수 있도록 기초부터 단계적으로 설명

-분석 결과를 가시적으로 표현하는 시각화 기법에 대한 기본 설명

-현장 밀착형 데이터 핸들링 기법 및 분석 기법에 대한 예시 활용



본인의 실력에 맞게 알맞은 학습 로드맵을 정할 수 있다. 입문기를 다루고 있으며, R이라는 언어의 진입장벽은 낮기 때문에 7일만에 끝낼 수 있다.



챕터 구성은 초보자도 쉽게 이해할 수 있게 구성되어 있다. 프로그램 설치부터 기본기 다지기, 패키지와 함수에 관한 내용까지 다룬다. 패키지란 R언어에 필요한 기능을 추가하는 요소이다. 따라서 사용자가 필요한 패키지를 다운받아 쉽게 설치해 사용한다. 초보자에게는 패키지를 어떻게 활용하는지만 배워도 빠른 속도로 진도를 나아갈 수 있다.



이제 실제 프로젝트를 진행하면 폴더 관리가 중요하다. 코드 실행에 있어 작업 폴더 영역을 설정하고 데이터가 있는 폴더를 구분해 좀 더 직관적인 코드와 구성이 가능하다.



데이터 프레임은 R언어에서 중요한 데이터 타입이다. 리스트형의 확장 형태인 데이터 프레임은 데이터 분석을 좀 더 용이하게 해준다.



R언어의 코드는 직관적이고 간단하며 사용자위주이다. 단 몇줄만으로도 의미있는 데이터 분석이 가능하다는 것이다. 보시다시피 단 한줄로도 변수의 중첩 부분을 정렬해 데이터를 나타낼 수 있다.



R언어에서는 패키지에 대한 이해가 필수이다. 물론 최근의 대부분의 프로그래밍 언어는 패키지와 라이브러리를 활용한 코딩이 대세를 이루기 때문에 패키지와 라이브러리를 원활히 사용할 줄 알아야 한다.


R언어는 CRAN이라는 R언어 패키지 매니저를 통해 관리된다. 따라서 간단한 명령어를 이용해 패키지를 설치할 수 있다. 데이터 분석과 R언어에 필수적인 패키지와 유용하게 사용되는 패키지가 많이 소개되고 있다.



워드클라우드란 단어의 빈도에 따라 글자의 크기를 달리해 시각적으로 빈도가 높은 단어와 낮은 단어를 쉽게 구분할 수 있도록 지원한다. 워드클라우드를 생성할 단어 데이터만 정돈되 있다면, 단 2줄만으로도 워드클라우드를 생성할 수 있다.



ggplot2 패키지는 막대그래프, 꺽은선 그래프, 히스토그램, 산점도 등을 다양한 차트와 그래프를 나타낼 수 있는 R언어의 필수급 패키지입니다. 데이터를 이용한 그래프와 제목, 축 등 다양한 디자인 요소와 함께 googleVis패키지와 함께 사용하면 더욱 좋다.



R언어는 파이썬과 다른 언어들과 함께 데이터 분석에 있어 중요한 도구이다. 그 언어를 사용하는데 있어 수많은 입문서와 활용서들이 존재한다. 그 중 이 책은 R언어를 전혀 모르는 사람부터 시작할 수 있는 훌륭한 입문서이다. 쉬운 구성한 간단한 코드 구성 및 패키지 활용까지 다양하게 알려주고 있다. 


"

여러분을 위한 가장 기초의 R언어 입문서

"

앞선 제이펍 출판사의 ‘봇 설계는 이렇게 한다’라는 도서를 리뷰했다. 그만큼 최근 챗봇의 관심을 뜨겁다. 마이크로소프트에서는 2016년 빌드 개발자 콘퍼런스에서 봇 프레임워크(Bot Framework)를 소개했다. 챗봇은 그래픽 유저 인터페이스(GUI)환경보다 대화식 커뮤니케이션에 탁월하기 때문에 매우 효율적이다. 


이 책은 어려운 아키텍처부터 다이얼로그를 통해 대화관리, 자연어 처리와 음성 커뮤니케이션에 이르는 봇 프레임워크에 대한 전반적인 부분을 알려준다. 


C#과 ASP.NET MVC Web API에 능숙한 개발자이며 챗봇에 관심이 많다면 이 책을 권한다.



대상 독자와 필요 사항


이 책의 대상 독자 및 읽기 전 필요한 사항등을 알려주고 있다. 기본적인 C#구문은 읽을 줄 안다는 가정이 있다.



베타리더들의 호평들이 많다


김용현 베타리더의 후기를 살펴보면 비주얼 스튜디오, 애저에 대한 전문 지식이 없어도 시작할 수 있다고 한다. 그만큼 챗봇 프레임워크의 접근성이 많이 낮아졌음을 알 수 있다. 챗봇 프로그래밍은 빠르게 원하는 서비스를 구축하고 실현할 수 있어야 한다.


챗봇이란 무엇인가?


REST란 무엇일까?


문법이 익숙한 형태이다


사용자와 챗봇은 채널을 통해 상호작용한다.


각 장의 마지막에는 이렇게 요약을 한다


IdialogContext의 Forward 메서드를 사용해본다


각 메서드를 사용하는 방법부터 다이얼로그를 보기 쉽게 그림 형태로 보여준다.


다이얼로그란 일종의 순서도이다


검색에 필요한 쿼리형 카드이다



인공지능과 자연어 처리를 활용한 챗봇이 활발히 개발되고 있는 오늘날 이 책은 누구나 챗봇 프레임워크를 이용해 챗봇을 구현하고 서비스할 수 있게 도와주는 책이다. 봇 프레임워크가 무엇이고 어떤 것을 할 수 있는지 이해하기 쉽게 설명한다.



"

마이크로소프트의 봇 프레임워크를 통해 살아있는 챗봇을 만든다!

"


스마트폰이나 컴퓨터를 쓰다보면 최근 다양한 채팅 시스템을 볼 수 있다. 쇼핑, 통신사등 다양한 기업과 서비스에서 채팅봇 시스템을 도입해 고객들의 다양한 업무를 처리하고 있다. 채팅봇은 자체 웹기반 채팅 시스템으로 제공하기도 하지만, 카카오톡, 페이스북, 트위터등 여러 SNS를 통해 쉽게 접근할 수 있게도 한다.


그렇다면 채팅봇 설계는 어떻게 할까? 채팅봇은 일반적인 프로그래밍과는 그 구현과 설계를 달리해야할 필요가 있다. 채팅봇 프로그램 자체가 이미 사람과 직접 소통하는 수단이기 때문에 다양한 기술과 구현방식이 필요하다.




이 책은 일반적인 애플리케이션 프로그래밍 도서와는 다르다. 물론 코드를 이용해 봇 애플리케이션을 개발할수도 있으나, 이 책은 서비스 위주의 도서로서 봇과 관련된 모든 업무를 하는 사람들과 관심 있는 사람들을 위한 도서이다. 따라서 비전공자들도 보다 쉽게 이해할 수 있다.


더군다나 최근에는 다양한 사람들이 이러한 봇 애플리케이션을 접하기 때문이다.



목차는 비전공자들도 쉽게 이해할 수 있게 되어 있다.


CHAPTER 1 봇이란 무엇인가? 1

그렇다면 봇은 무엇인가? 2

봇의 혁명과 진화 5

봇 채택 단계 7

모든 봇이 똑같이 태어나는 것은 아니다 8

정리 9


CHAPTER 2 봇의 유형 11

개인 봇 vs 팀 봇 11

슈퍼 봇 vs 영역별 봇 13

기업용 봇 vs 소비자용 봇 15

음성 봇 vs 텍스트 봇 17

완전히 새로운 봇 vs 기존 시스템의 노출을 통합한 봇 19

정리 20


CHAPTER 3 주요 플랫폼 21

기업용 봇 플랫폼: 슬랙 21

소비자용 봇 플랫폼: 페이스북 메신저 22

음성 봇 플랫폼: 알렉사 23

십대들의 봇 플랫폼: 킥 24

오래된 봇 플랫폼 24

플랫폼을 선택하는 방법 25

정리 30


CHAPTER 4 주요 사용 사례 31

대화형 상거래 31

비즈니스를 위한 봇 32

생산성 및 코칭 34

경고/알림 봇 35

사람 사이를 연결하는 봇 35

고객 서비스 및 FAQ 봇 36

타 서비스 통합 봇 37

게임 및 엔터테인먼트 봇 38

브랜드 봇 39

정리 40


CHAPTER 5 봇 해부학 41

봇 해체하기 42

핵심 목적 및 기능 46

사람의 개입 64

정리 48


CHAPTER 6 브랜딩, 성격 그리고 사람의 개입 49

브랜딩 49

성격 56

사람의 개입 64

정리 68


CHAPTER 7 인공 지능 69

자연어 이해 70

대화 관리 71

이미지 인식/컴퓨터 비전 73

예측 74

감정 분석 75

AI를 사용해야 하는 경우 76

AI가 필요 없는 경우 76

정리 77


CHAPTER 8 대화 79

온보딩(적응 프로그램) 80

기능 스크립팅 89

데코레이션 105

사용자가 올바른 정보를 제공하도록 유도하기 110

승인 및 확인 112

일관성 115

상호 호혜성 116

팀 인터랙션 vs 개인 인터랙션 120

에러 처리 125

도움말과 피드백 130

정리 133


CHAPTER 9 리치 인터랙션 135

파일 136

오디오 137

동영상 138

이미지 139

버튼 143

템플릿 155

링크 162

이모티콘 166

타이핑 이벤트 168

고정 메뉴 168

슬래시 명령 170

웹뷰 172

모두 모아보기 173

정리 174


CHAPTER 10 문맥과 기억 175

봇 기억상실증 175

문맥 177

기억 184

정리 186


CHAPTER 11 봇의 발견과 설치 187

봇 디렉터리 188

앱 리뷰 프로세스 190

설치 링크 191

QR 코드 192

@멘션 193

봇 추천 194

정리 194


CHAPTER 12 참여 방법 195

첫인상 196

참여 포인트의 개선 201

정리 203


CHAPTER 13 수익화 205

구독 206

광고 게재 208

데이터 ? 분석과 시장 조사 209

상품 및 서비스 판매 210

추천(소개) 수수료 212

브랜드 홍보 213

언제 요금을 청구해야 할까? 215

정리 215


CHAPTER 14 기획 프로세스 개요 217

단계 217

도구 218


CHAPTER 15 사용 사례 정의 및 탐구 221

기본 분석 223

솔루션 탐구 227


CHAPTER 16 대화 스크립트 작성하기 231

플로우 윤곽 잡기 232

의도 매핑 238

개체 매핑 239

샘플 봇 출력 스크립트 작성하기 239


CHAPTER 17 기획과 테스트 255

봇소사이어티로 페이스북 메신저용 여행봇 기획하기 256

월키로 슬랙용 휴가봇 기획하기 265

사용자 테스트 275


CHAPTER 18 봇 제작 개요 283

봇 아키텍처 283

봇 제작 기술 284

올바른 도구 선택하기 291


CHAPTER 19 분석과 지속적인 개선 293

봇 분석은 어떻게 동작하는가? 293

로그 보기 295

분석 솔루션에 관한 탐구 296

지속적인 개선 301


CHAPTER 20 무한을 넘어 비상 ? 봇의 미래 303

봇 플랫폼의 미래 트렌드 303

봇의 미래 트렌드 306

봇과 AI가 세계를 정복할 수 있을까? 310

우리 삶 곳곳에서 볼 수 있는 봇 311




최근의 AI스피커, SNS 스마트 채팅의 확산으로 많은 일반인들까지 봇을 쉽게 접하고 있다. 더군다나 개발환경 또한 간단한 형태로 추구되고 있어, 쉽고 빠르게 구현이 가능하다.



봇의 장점은 바로 접근성과 개방성이다. 우리가 평소에 주고받는 문자메시지, 카카오톡, SNS메신저등을 이용해 누구나 쉽게 접근이 가능하고 개방되어 있다. 해당 분야에 특화된 서비스도 제공할 수 있다. 예컨대, 쇼핑 서비스 챗봇을 구현하면 적절한 아이템을 검색하고 추천하고, 배송 및 주문 업무를 보여주는 등 사람이 전화를 하고 찾아보는 수고를 덜 수 있다.


실제로 챗봇을 도입하고 전화상담원의 업무가 약 11% 줄어든 기업도 있다고 한다.




챗봇의 핵심 기술은 역시 자연어 처리라고 할 수 있겠다. 챗봇은 실제 사용자들과 가장 가깝게 연결되는 형태이다. 중간의 어떠한 필터링 없이 직접적으로 챗봇에 메시지가 전달되기 때문에 챗봇 시스템은 이러한 자연어를 원활히 처리할 수 있어야 한다. 각 언어별 단어, 어법, 문맥등을 머신 러닝과 같은 인공 지능을 이용해 처리를 하고 원하는 서비스를 제공해야 한다.



한단계 더 나아가 이미지 처리도 있다. 주어진 이미지와 유사한 사진이나 제품 및 링크를 검색하는 서비스 또한 많이 제공되고 있다. 


앞으로 세상은 대화형 인터페이스, 즉 챗봇을 통해 기업과 소비자가 서로 소통하는 공간이 만들어질 것이다. 이러한 세상 속 챗봇을 알아가는 사람들에게 꼭 필요한 도서이다.


"

봇에 관심이 많고 그 원리, 개발 모두 이뤄낼 수 있는 책!

"

+ Recent posts