딥러닝에 대한 10가지 질문
딥러닝, 신경망, 중요한 혁신, 가장 널리 사용되는 패러다임, 딥러닝이 효과적인 분야와 그렇지 않은 분야, 그리고 딥러닝의 간략한 역사에 대해 더 자세히 알기 위해 몇 가지 질문을 던지고 답을 구했다.
딥러닝이란 정확히 무엇인가?
딥러닝은 전통적인 신경망의 현대적 발전이다. 실제로 고전적인 피드 포워드(feed-forward), 완전 연결, 역전파(backpropagation) 학습, 다층 퍼셉트론(MLP)에 “더 깊은” 아키텍처가 추가된 것이다. 더 깊다는 것은 순환망, 합성곱망의 경우와 같이 숨겨진 층이 더 많고 몇 가지 새로운 신경 페러다임이 더 있다는 것을 의미한다.
딥러닝과 신경망의 차이는 무엇인가?
차이점은 없다. 딥러닝 네트워크가 곧 신경망이고, 단지 1990년대에는 학습이 불가능했던 수준의 더 복잡한 아키텍처가 추가됐을 뿐이다. 예를 들어 순환신경망(RNN)의 장단기 메모리(LSTM) 유닛은 1997년 호크라이터와 슈미트후버에 의해 고안됐지만 계산 시간이 길고 계산 리소스의 요건이 높았던 탓에 오랜 시간 도입되지 못했다. 두 개 이상의 숨겨진 층이 있는 다층 퍼셉트론 역시 나온 지 오래된 개념이고 그 혜택도 이미 명확히 알려졌다. 중대한 차이점은 현대의 연산 자원 덕분에 이제 이와 같은 개념을 실제로 구현할 수 있게 됐다는 것이다.
딥러닝을 좌우하는 요소는 결국 더 강력한 컴퓨팅 자원인가?
일반적으로 더 빠르고 더 강력한 연산 자원은 더 강력하고 유망한 신경 아키텍처의 구현과 실험을 가능하게 해준다. 신경망 학습에 며칠씩 소비하는 방식은 같은 신경망을 GPU 가속의 도움을 받아 몇 분만에 학습시키는 방법과 경쟁할 수 없다.
딥러닝의 인기를 촉발한 혁신적인 프로젝트는 무엇인가?
큰 도약이 일어난 시점은 딥러닝 기반의 알렉스넷(AlexNet) 네트워크가 이미지넷(ImageNet) 대회에서 전례 없는 격차로 우승한 2012년이다. 알렉스넷의 오류율은 15%였는데, 바로 다음 2위의 수치가 26%였다. 알렉스넷의 우승으로 딥러닝 네트워크가 급격히 부상했고 현재 정상급 모델의 오류율은 3% 미만이다.
인간의 오류율이 5% 내외임을 감안하면 놀라운 수치다.
딥러닝이 그렇게 강력한 이유는 무엇인가?
한 마디로 요약하면 유연함이다. 한쪽 면에서 보면 신경망은 보편적 근사 함수다. 어렵게 들리는 용어지만, 충분히 복잡하게만 만든다는 전제 하에 신경망을 사용해서 거의 모든 것의 근사치를 구할 수 있음을 의미한다. 또 다른 면에서는 학습된 신경망 가중치를 사용해 비슷한 작업을 수행하는 다른 신경망의 가중치를 초기화할 수 있다. 이것을 전이 학습(Transfer Learning)이라고 하는데, 보통 사람들이 생각하는 이상으로 효과적이다. 처음에는 전혀 달라 보이는 작업에서도 아주 잘 작동한다.
가장 광범위하게 사용되는 신경망 패러다임은 무엇인가?
가장 성공적이며 광범위하게 도입된 네 가지 딥러닝 패러다임은 순환 신경망의 LSTM 유닛, 합성곱 신경망(CNN, Convolutional Neural Networks)의 합성곱 층, 인코더-디코더 구조, 그리고 생산적 적대 신경망(Generative Adversarial Networks, GAN)이다.
RNN은 텍스트(예를 들어 일련의 단어 또는 문자)와 같은 순차 데이터 또는 시계열 데이터 처리에 사용되는 신경망 군이다. 같은 네트워크의 복사본을 각 시간 단계에 적용하고 상태 벡터를 통해 다른 복사본을 연결하는 개념이다. 이렇게 하면 네트워크는 과거의 정보를 기억할 수 있다. RNN에서 많이 사용되는 유닛 네트워크는 게이트 순환 유닛(Gated Recurrent Units, GRU)과 LSTM이다.
CNN 층은 이미지와 같이 공간 의존성이 있는 데이터에 특히 강력하다. 모든 뉴런을 새로운 층에 연결하는 대신 일종의 필터 역할을 하는 슬라이딩 윈도우가 사용된다. 일부 합성곱이 가장자리나 모서리를 감지하고 다른 합성곱이 이미지 내의 고양이, 개, 표지판을 감지할 수 있다.
흔히 사용되는 또 다른 신경망 구조는 인코더-디코더 네트워크다. 예를 들어 병목 층이 있는 신경망이 학습을 통해 입력을 출력으로 재구성하는 오토인코더가 있다. 인코더-디코더 네트워크의 또 다른 응용은 RNN에서 인코더-디코더 구조가 사용되는 뉴럴 기계 번역이다. LSTM 기반 인코더는 소스 언어에서 콘텐츠의 밀집 표현을 추출하고, LSTM 기반 디코더는 타깃 언어로 출력 시퀀스를 생성한다.
물론 생산적 적대 신경망도 있다. 생산적 적대 신경망은 생성자와 감별자, 두 개의 딥러닝 네트워크로 구성된다. 두 네트워크 모두 개선을 위해 상호 경쟁하는 교차 단계로 학습된다. GAN은 이미지 텐서에 적용되어 애니메이션, 인체 형상을 만드는 데 사용됐으며 마치 반 고흐가 그린 듯한 작품을 만든 적도 있다.
딥러닝이 머신러닝 세계를 완전히 점령했는가?
적어도 아직은 아니다. 컴퓨터 비전과 같이 딥러닝을 더 이상 피할 수 없는 영역도 있지만, 표 형태의 데이터와 같이 딥러닝과 잘 맞지 않는 것으로 증명된 영역도 있다.
비즈니스 데이터를 저장하는 용도에서 여전히 주된 형식인 표 형태 데이터의 경우, 딥러닝 효과가 그렇게 나쁜 것은 아니다. 다만 성능 좋은 노트북에서 몇 분 이내에 학습이 가능한 랜덤 포리스트나 그래디언트 부스팅 트리를 사용해서 비슷한 정확도를 얻을 수 있는 마당에 굳이 값비싼 GPU 서버를 며칠동안 가동해 딥러닝 모델 하나를 학습시킬 이유가 없을 뿐이다.
딥러닝을 사용하려면 코딩 지식이 있어야 하는가?
꼭 그렇지는 않다. 대부분의 딥러닝 패러다임이 텐서플로우(TensorFlow)와 케라스(Keras)에 제공되고 둘 모두 파이썬 기술이 필요한 것은 사실이다. 그러나 오픈소스 KNIME 애널리틱스 플랫폼(KNIME Analytics Platform)은 백엔드에서 텐서플로우를 사용해서 케러스 및 딥러닝 라이브러리를 처리하는 GUI를 제공한다. 따라서 적절한 노드를 끌어서 다른 노드에 연결하는 방식으로 원하는 만큼 복잡하게 뉴럴 아키텍처를 구축할 수 있다.
<그림 1>에서 LSTM 기반 RNN을 학습시켜 프리 텍스트(free text)를 생성한 예를 볼 수 있다. 모델은 새로운 아웃도어 의류를 위해 산 이름과 유사한 가짜 이름을 생성한다. 맨 위(갈색 노드)에서 뉴럴 아키텍처를 구축한 다음 케라스의 네트워크 러너(Network Learner) 노드를 사용해서 학습시켰다. 학습된 네트워크는 적절히 수정되어 텐서플로우 형식으로 저장된다.
딥러닝 네트워크의 예는 어디서 찾을 수 있는가?
커뮤니티 KNIME 허브(KNIME Hub)에서 다양하게 찾을 수 있다. 예를 들어 LSTM 유닛을 사용하는 순환 신경망은 이 프리 텍스트 생성 예시(그림 1 참조) 또는 다른 시계열 예측 예시에서 볼 수 있다. 또한 “CNN 처음부터 만들기” 또는 “간단한 CNN 학습” 등에는 합성곱 신경망을 사용해서 이미지를 처리하는 여러 예시 워크플로우도 있다. 사기 탐지 작업을 위한 솔루션으로 사용되는 간단한 피드 포워드 완전 연결 다층 오토딩코딩 구조도 있다. 지금 이 시간에도 많은 예시가 커뮤니에 업로드되고 있을 것이다.
KNIME 애널리틱스 플랫폼을 사용할 경우 클라우드에 작업을 호스팅해야 하는가?
KNIME 애널리틱스 플랫폼은 오픈소스 애플리케이션이고 케라스, 텐서플로우 통합과 같은 통합 역시 마찬가지다. 따라서 퍼블릭 클라우드든 자신의 컴퓨터든 원하는 곳에 자유롭게 설치할 수 있다. 다만 확실한 한 가지는 시스템의 성능이 좋을수록 실행 속도도 빠르다는 것이다. KNIME 케라스 통합에 GPU 가속을 적용할 수도 있다. 이를 위해서는 CUDA가 설치된 GPU 장착 시스템, 케라스와 함께 GPU 설치를 위한 콘다(Conda) 환경, 마지막으로 KNIME 케라스 통합이 필요하다. editor@itworld.co.kr
함께 보면 좋은 콘텐츠
Sponsored
Surfshark
“유료 VPN, 분명한 가치 있다” VPN 선택 가이드
ⓒ Surfshark VPN(가상 사설 네트워크, Virtual Private Network)은 인터넷 사용자에게 개인 정보 보호와 보안을 제공하는 중요한 도구로 널리 인정받고 있다. VPN은 공공 와이파이 환경에서도 데이터를 안전하게 전송할 수 있고, 개인 정보를 보호하는 데 도움을 준다. VPN 서비스의 수요가 증가하는 것도 같은 이유에서다. 동시에 유료와 무료 중 어떤 VPN을 선택해야 할지 많은 관심을 가지고 살펴보는 사용자가 많다. 가장 먼저 사용자의 관심을 끄는 것은 별도의 예산 부담이 없는 무료 VPN이지만, 그만큼의 한계도 있다. 무료 VPN, 정말 괜찮을까? 무료 VPN 서비스는 편리하고 경제적 부담도 없지만 고려할 점이 아예 없는 것은 아니다. 보안 우려 대부분의 무료 VPN 서비스는 유료 서비스에 비해 보안 수준이 낮을 수 있다. 일부 무료 VPN은 사용자 데이터를 수집해 광고주나 서드파티 업체에 판매하는 경우도 있다. 이러한 상황에서 개인 정보가 유출될 우려가 있다. 속도와 대역폭 제한 무료 VPN 서비스는 종종 속도와 대역폭에 제한을 생긴다. 따라서 사용자는 느린 인터넷 속도를 경험할 수 있으며, 높은 대역폭이 필요한 작업을 수행하는 데 제약을 받을 수 있다. 서비스 제한 무료 VPN 서비스는 종종 서버 위치가 적거나 특정 서비스 또는 웹사이트에 액세스하지 못하는 경우가 생긴다. 또한 사용자 수가 늘어나 서버 부하가 증가하면 서비스의 안정성이 저하될 수 있다. 광고 및 추적 위험 일부 무료 VPN은 광고를 삽입하거나 사용자의 온라인 활동을 추적하여 광고주에게 판매할 수 있다. 이 경우 사용자가 광고를 보아야 하거나 개인 정보를 노출해야 할 수도 있다. 제한된 기능 무료 VPN은 유료 버전에 비해 기능이 제한될 수 있다. 예를 들어, 특정 프로토콜이나 고급 보안 기능을 지원하지 않는 경우가 그렇다. 유료 VPN의 필요성 최근 유행하는 로맨스 스캠은 인터넷 사기의 일종으로, 온라인 데이트나 소셜 미디어를 통해 가짜 프로필을 만들어 상대를 속이는 행위다. 이러한 상황에서 VPN은 사용자가 안전한 연결을 유지하고 사기 행위를 방지하는 데 도움이 된다. VPN을 통해 사용자는 상대방의 신원을 확인하고 의심스러운 활동을 감지할 수 있다. 서프샤크 VPN은 구독 요금제 가입 후 7일간의 무료 체험을 제공하고 있다. ⓒ Surfshark 그 외에도 유료 VPN만의 강점을 적극 이용해야 하는 이유는 다음 3가지로 요약할 수 있다. 보안 강화 해외 여행객이 증가함에 따라 공공 와이파이를 사용하는 경우가 늘어나고 있다. 그러나 공공 와이파이는 보안이 취약해 개인 정보를 노출할 위험이 있다. 따라서 VPN을 사용하여 데이터를 암호화하고 개인 정보를 보호하는 것이 중요하다. 서프샤크 VPN은 사용자의 개인 정보를 안전하게 유지하고 해킹을 방지하는 데 유용하다. 개인정보 보호 인터넷 사용자의 검색 기록과 콘텐츠 소비 패턴은 플랫폼에 의해 추적될 수 있다. VPN을 사용하면 사용자의 IP 주소와 로그를 숨길 수 있으며, 개인 정보를 보호할 수 있다. 또한 VPN은 사용자의 위치를 숨기고 인터넷 활동을 익명으로 유지하는 데 도움이 된다. 지역 제한 해제 해외 여행 중에도 한국에서 송금이 필요한 경우가 생길 수 있다. 그러나 IP가 해외 주소이므로 은행 앱에 접근하는 것이 제한될 수 있다. VPN을 사용하면 지역 제한을 해제해 해외에서도 한국 인터넷 서비스를 이용할 수 있다. 따라서 해외에서도 안전하고 편리하게 인터넷을 이용할 수 있다. 빠르고 안전한 유료 VPN, 서프샤크 VPN ⓒ Surfshark 뛰어난 보안 서프샤크 VPN은 강력한 암호화 기술을 사용하여 사용자의 인터넷 연결을 안전하게 보호한다. 이는 사용자의 개인 정보와 데이터를 보호하고 외부 공격으로부터 사용자를 보호하는 데 도움이 된다. 다양한 서버 위치 서프샤크 VPN은 전 세계 곳곳에 여러 서버가 위치하고 있어, 사용자가 지역 제한된 콘텐츠에 액세스할 수 있다. 해외에서도 로컬 콘텐츠에 손쉽게 접근할 수 있음은 물론이다. 속도와 대역폭 서프샤크 VPN은 빠른 속도와 무제한 대역폭을 제공하여 사용자가 원활한 인터넷 경험을 누릴 수 있도록 지원한다. 온라인 게임, 스트리밍, 다운로드 등 대역폭이 필요한 활동에 이상적이다. 다양한 플랫폼 지원 서프샤크 VPN은 다양한 플랫폼 및 디바이스에서 사용할 수 있다. 윈도우, 맥OS, iOS, 안드로이드 등 다양한 운영체제 및 디바이스에서 호환되어 사용자가 어디서나 안전한 인터넷을 즐길 수 있다. 디바이스 무제한 연결 서프샤크 VPN은 무제한 연결을 제공하여 사용자가 필요할 때 언제든지 디바이스의 갯수에 상관없이 VPN을 사용할 수 있다.