게임화(Gamification, 게이미피케이션)은 웹사이트나 마케팅같은 것에 게임을 접목시켜서 사용자가 게임을 플레이하는 듯한 즐거움을 느끼며, 몰입감을 증대시키는 기법을 말한다. 사용자들에게 설문조사를 한다던지, 커뮤니케이션을 한다던지 혹은 일정을 관리한다던지, 어떤 것이든 게임과 접목 시킬 수 있다. 게임화를 위해서는 다음과 같은 요소들이 중요하다.흥미 : 프로세스가 진행될 수록 보상과 또 연속적인 흥미를 끌 수 있게 조금씩 난이도를 높인다지속 : 중간에 끊기지 않게 피드백을 주고, 받는 형태로 진행이 되야 한다접근 : 참여하기 쉽도록 초기 달성이 쉬워야 한다보상 : 단계별 미션을 클리어 시, 보상을 해야 한다(점수, 리더보드, 상금 등) 위의 요소들로 얻는 게임화의 특징은게임플레이 : 규칙에 기반하..
퍼셉트론을 포스팅 하면서, 인공지능의 시작과 함께 1차 인공지능의 겨울이 오는 것까지 설명을 하였다. 퍼셉트론은 인공지능의 시작이며, 현재 가장 핫하고 진보적인 기술인 딥러닝(Deep Learning)의 시초가 되는 기술이다. 즉 퍼셉트론을 제대로 이해할 수 있어야, 딥러닝을 제대로 이해할 수 있다고 말해도 과언이 아닌 것이다. 인공지능의 한동안 거의 사라진 기술이다시피 하였다. 막대한 금액을 퍼부었지만, 별다른 성과를 내지 못했던 이 기술은 점차 연구를 중단하게 되고, 근근이 몇군데에서만 연구를 시작하게 된다. 그러다가, 전문가 시스템(Expert System)이 발전하면서 인공지능의 관심도가 증가하게 된다. 사실 퍼셉트론이 처음 생겼을 때는 사용할 수 있는 분야가 없어서 쇠퇴하였지만, 전문가 시스템은..
저번 포스팅에는 퍼셉트론으로 구현이 가능한 논리 게이트(논리 회로)에 대해서 포스팅을 하였다. 왜 논리 게이트에 대해서 포스팅을 했느냐면, 바로 XOR에 대한 문제점 때문이다. 로센블래트와 고등학교 동창이던 마빈 민스키 박사는 많은 설전을 벌였었다. 민스키 박사는 퍼셉트론은 대부분을 해결할 수 없다고 말했지만, 로센블래트는 퍼셉트론에 대해서 자신만만하던 참이었다. 민스키 박사는 동료이던 세이무어 페퍼트와 퍼셉트론의 한계를 수학적으로 증명을 하면서, 로센블래트는 처참히 무너지고 말고 이것이 바로 인공지능의 1차 겨울이 오는 시기이다. 마빈 민스키 박사, Marvin Minsky 바로 퍼셉트론은 AND, OR, NAND 같은 선형문제는 풀수 있을지 모르지만, XOR같은 비선형 문제를 풀수가 없다는 것이었다...
1. 퍼셉트론을 이해하는, 논리회로 초창기 퍼셉트론은 단순한 분류 문제를 풀 수 있었습니다. 이걸 이해하기 위해서는 진리표를 확인해야 될 필요가 있습니다. 인간의 논리방식을 컴퓨터로 구현할 수 있다면 인공지능을 구현해 낼 수 있을 것이다. 라는 것이 당시의 생각이었고, 실제로 로센블래트는 분류하는 문제를 시연까지 할 정도로 사람들에게서 꿈과 같은 기술을 보여주게 되었습니다. 그 분류를 보여주는 것이 "진리표대로 작동하냐"인데 위 그림처럼 어떠한 값(input)이 2개 없다고 가정을 할 때 컴퓨터가 논리적으로 인식하는 방식이 다음과 같은 게이트로 구현하는 것입니다. 2. AND 게이트 AND는 모두 True 일 경우에 작동을 한다입니다. 한쪽이라도 False일 경우 작동을 멈추는데 퍼셉트론은 1일 경우 T..
1. 인공지능의 종류 인공지능을 설계할 때, 강한 인공지능(Strong AI)로 만들 것인가? 아니면 약한 인공지능(Weak AI)로 만들 것인가 기준을 잡고 만들게 된다. 강한 인공지능(Strong AI) 혹은 일반 인공지능(General AI)는 정의대로 하면 현재 만들 수 없는 기술이긴 하지만 분류를 하자면 Watson같은 존재가 Strong AI로 볼 수 있다. 약한 인공지능(Weak AI) 혹은 좁은 인공지능(Narrow AI)은 거의 대다수를 차지하는 인공지능인데 전문가 시스템적인 인공지능이라고 보면 된다. 예를 들면 추천시스템, 로봇 청소기, 번역 시스템, 그리고 최근의 알파고같이 특정 임무를 수행하는 인공지능이 바로 약한 인공지능이다. 2. 약한 인공지능 약한 인공지능을 만들기 위해서는 어..
1. 인공신경망과 딥러닝의 시작 "인공지능의 시작은 퍼셉트론(Perceptron)이 처음이다!"라고 말하기에는 힘들지만, "인공신경망(Neural Network)과 딥러닝(Deep Learning)은 퍼셉트론이 처음이다!"라고 말할 수 있을 것입니다. 많은 사람들이 "인공지능 = 신경망"이라고 생각하는 분들이 많은데 그 만큼 인간이 예측하기 힘든 부분을 신경망이 보여주기 때문에 인공지능이란 컴퓨터가 하는 행위(또는 생각)를 인간이 알아차리지 못하는 것으로 해석하는 분들이 많습니다. 바로 그 신경망의 시작이 퍼셉트론입니다. 신경망이 뭔지도 모르는데 퍼셉트론은 뭐지? 왠지 어려워 보이는데? 라고 생각하는 분들이 있을 수 있습니다. 컴퓨터를 아예 모르고, 컴맹이신 분은 쉬운 설명을 해도 이해가 안 될 수 있습..
이 문제는 윈도우10만의 문제는 아니다. 아니 정확히 말해서, 필자의 컴퓨터는 윈도우 10만의 문제는 아닌 경우다. 어제부터 오늘까지(자정이 넘은지 10분 지났으니 정확히 3일간) 생쇼를 한 것을 생각하면, 분할ㅠㅠ 따름이다. 필자의 컴퓨터 메모리는 16GB인데, 어느날 녹스(NOX Player) 에뮬레이터를 2개 돌리려고 시도하는데 컴퓨터가 엄청 느려지는 현상이 발생하기 시작했다. 순간, 녹스가 버그가 났는지 싶어서 종료를 하려고 작업관리자를 켰는데..메모리가 어처구니 없게 4GB로 되어 있는 현상이 발생했다. 최근까지만 해도 잘 돌아가던 녹스가 4GB가 되다니, 황당했지만 일단 침착하게 최근에 했던 행동을 곰곰히 생각해보았다. 1. 최근 windows update를 진행한 적이 있었다. 2. 그래픽 ..
1. 함수의 도움말 보기 R studio까지 설치했다고 한다면 (http://needjarvis.tistory.com/44 포스팅 참조) 이제 슬슬 R이 어떤 기능들이 있는지 확인해봐야 한다. R은 통계 및 데이터분석에 특화된 언어이기 때문에 이런 기능들을 매우 쉽게 제공하고 있다. > help(함수명) 위와 같이 명령을 하게 되면, 함수에 관련된 help 값을 가져올 수 있다. 시각화를 위한 plot 함수를 help 명령어에 argument로 실행하면 studio에서 우측 하단의 붉은색 네모영역에 표시가 된다. help에서 많은 부분을 알려주기 때문에 유용하게 쓰이지만, 인자값(Arguments)만 알고 싶은 경우가 있다. 위 help에 표시된 Usage 밑에 나온 "plot(x, y, ...)" 이 ..
SQL Injection는, OWSAP에서 매번 발표했을 때, 가장 위협적이고 가장 쉬운 방법이라고 거론이 될 정도로 어찌보면 기본이며, 꼭 알아야 할 해킹 기술이다. Injection은 주입이라는 뜻으로, 즉 직독하자면 SQL 언어를 외부에서 주입하여 해킹을 하는 기법을 뜻한다. 외부는 일반적으로 웹(Web)을 뜻하며, 아이디를 입력하는 란이라든지 뭔가 정보를 주고 받는 곳에서 예상치 못한 공격으로 사이트를 마비 시키거나, 데이터를 훔치거나 관리자 정보나 기타 유저들의 정보를 훔쳐볼 수 있다. SQL Injection은 OWASP에 꾸준히 1위를 유지하고 있으며, 최근 발표한 2017년 버전에도 여전히 1위를 지키고 있을 정도로 관심은 여전하다. - SQL Injection 외에도 허술한 인증 관리와 ..
시큐어 코딩이란, 말그대로 보안 코딩이다. 즉, 코딩을 할 때 보안에 대해서 문제가 되는 부분을 제거하거나 교체하는 방식으로 가장 간단히 처리하면서 효과적인 모습을 보여준다. 상당히 많은 개발자들이 스스로 나는 코딩을 잘해라고 말하지만, 시큐어 코딩을 하는 사람을 많이 보지 못했다. 머리속에 있는 것을 구현하는 것은 초중급이상만 되면 누구나 할 수 있는 것이다(사람마다 시간의 편차가 존재할 수 있지만...) 하지만, 시큐어 코딩(Secure Coding)이나 클린 코딩(Clean Coding)같은 다음 Level의 코딩 혹은 철학 없이는 고급 개발자로 절대 갈수가 없다. 그럼 시큐어 코딩이 왜 중요한가??? 첫 문장에 적었지만, 가장 간단히 처리하면서 효과적인 모습이기 때문인데 정의를 읽어보면 좀 더 쉽..
과학기술의 발전속도가 가속화되고 있는 상황에서는 불확실성 역시 마찬가지로 증가하고 있다. 급변하는 불확실성에 대응하기 위해서는 단정적 미래예측이 아닌 다양한 미래사회 모습을 파악하고 비전, 목표 및 전략을 수립하는 시나리오 기반의 전략적 미래예측이 필요할 것이다. 어느 기업의 다양한 시나리오 없이, 단정적으로 운영해왔을 경우 현재까지 기업이 살아남은 이유는 운이 좋았기 때문일 것이다. 최근에는 이 불확실성이 더더욱 커지는데 정치적으로는 중국의 사드보복으로 인한 외교적 갈등으로 수출의 불확실성의 문제가 있고, 전세계적으로는 ICT에 지능을 입히는 4차 산업혁명이 있을 것이다. 최근 들어서, 대기업들은 인공지능에 모든 것을 걸고 있다고 해도 무방하다. 문제는 인공지능의 인력의 공급이 원활하지 못하다는 것에 ..
이 포스팅을 읽는 대상은 프로그래밍을 배우지 않는 분들도 쉽게 따라할 수 있게 할 예정입니다. 추후 이 포스팅은 제가 다니고 있는 회사분들에게 강의를 하는 목적도 가지고 있기 때문에 최대한 쉽게 작성할 예정입니다. 현재 파이썬을 설치조차 하지 않거나, 아직 파이썬에 대해서 잘 모르시는 분들은 제가 예전에 포스팅했던 파이썬 설치부터 시작하셔서, 하나둘 스텝업 하시기 바랍니다. 예전 파이썬 강좌파이썬(Python)은 무엇인가??파이썬(Python) 설치 및 세팅하기파이썬(Python) 강좌 1. 기본 연산 및 자료형, 변수 1. 파이썬에서의 리스트 처리 다른 언어를 사용해신 분들은 잘 아시겠지만, 파이썬에서도 역시 리스트를 지원합니다. 다만 약간 다른 점이 리스트가 상당히 자유롭습니다. 예를 들어, JAVA..