Deep Learning 1) 딥러닝을 활용한 유용한 사이트들을 소개합니다
안녕하세요, 지행무간(知行無間)입니다.
저는 기계공학을 전공하고 있는 대학원생입니다.
더 세부적으로는 전산유체역학(CFD) 분야에서 유체 제어(Fluid control)에 딥러닝(Deep learning)을 적용하는 연구를 하고있습니다.
딥러닝은 방대한 머신러닝(Machine Learning) 분야 중에 하나에 불과했지만 요즘은 가장 주류의 학습 방법이 되었습니다.
딥러닝이 앞으로의 우리 사회에 끼칠 영향에 대해 이해하기 위해선 딥러닝으로 무엇을 할 수 있는지 많이 아는 것이 중요한 것 같습니다.
그래서 일반인들도 딥러닝의 능력을 가늠할 수 있는 포스팅을 지속적으로 하려고 합니다.
오늘은 간단하게 유용한 사이트 몇 개를 소개하고, 그 원리에 대해 아주 간략하게 다루도록 하겠습니다.
* Waifu2x(http://waifu2x.udp.jp/index.ko.html)
Waifu2x는 자신이 가지고 있는 그림이나 사진의 해상도를 업스케일링해주는 사이트입니다.
언틋보면 사이트 자체는 허술해보이지만, 제공해주는 기능은 강력합니다.
사진보다는 그림 업스케일링 성능이 더 좋은 편이며, 홈페이지 뿐만 아니라 프로그램을 다운로드해서 사용할 수도 있습니다.
딥러닝이나 머신러닝의 가장 강력한 힘 중 하나가 바로 예측입니다.
나무위키에서 제공하는 예시를 보시면 다음과 같습니다.
원본을 가로세로 2배씩 확대힜지만 노이즈나 픽셀깨짐없이 매우 깨끗하게 업스케일링 된 것을 볼 수 있습니다.
* PaintsChainer(https://paintschainer.preferred.tech/index_en.html)
다음은 PaintsChainer라는 사이트입니다.
Waifu2x와 비슷하지만 용도가 다릅니다.
이 사이트는 스케치한 그림에 채색을 해줍니다.
사용하는 방법은 Waifu2x와 비슷합니다.
스케치를 업로드하거나 즉석으로 그림을 그리면 자동으로 색칠을 해줍니다.
사이트의 오른쪽 하단에 보시면 트위터에서 #PaintsChainer 태그를 통해 실시간으로 올라오는 예시들을 확인할 수 있습니다.
가장 최신에 올라온 예시를 보면 다음과 같습니다.
어설프게 색칠이 되는 것이 아니라 사람이 느끼기에 전혀 어색함이 없는 수준의 채색 성능을 보여줍니다.
이 사이트들을 이용하기는 매우 쉽기때문에 더이상의 설명은 필요없을것 같습니다.
즐겨찾기에 넣어두시면 언젠가 유용하게 쓰일 일이 있을거라 생각합니다.
이젠 그 원리에 대해 간략히 설명해보겠습니다.
* Autoencoder
딥러닝을 가장 간단하게 설명하면 데이터로 신경망을 통해 특정한 능력을 학습하는 것입니다.
말은 쉽지만 어떻게 학습하느냐에 따라서 학습의 결과가 크게 달라집니다.
그 중 학습하는 구조가 매우 중요할 때가 있습니다.
이러한 구조를 딥러닝에선 신경망이라는 표현을 씁니다.
Autoencoder는 대표적으로 신경망의 구조를 잘 활용하여 학습하는 방법입니다.
위의 그림은 Autoencoder의 신경망을 간단하게 표현한 모습입니다.
보통의 신경망을 학습을 할 때는, input에 학습하기위한 수많은 데이터(빅데이터라 불리는)를 넣고,
그 데이터에서 우리가 원하는 결과를 output에서 낼 수 있도록 신경망을 학습시킵니다.
이 때, Autoencoder의 핵심 아이디어는 Input과 Output을 동일하게 만드는 겁니다.
그리고 그 신경망의 중앙에 병목현상을 만드는 것입니다.
이러한 간단한 두 가지 아이디어의 결과로 엄청난 일들이 가능하게 됩니다.
이 신경망이 잘 학습되었다는 가정을 해보죠.
그렇다면 이 신경망은 Input에 어떤 것을 넣어도 Output에 자신과 똑같은 것을 복제하게 됩니다.
그런데 중앙의 병목을 생각해보면 병목쪽의 data는 input에 비해 훨씬 적은 정보를 가지고 있습니다.
그런데 그 적은 정보로 풍부한 Output의 정보를 만들어 낼 수 있습니다.
다시 그림을 통해 설명해보겠습니다.
Input과 Output에 똑같은 고양이 사진을 넣고 신경망을 학습시킵니다.
그러면 중앙의 병목에는 압축된 정보(스케치된 고양이)만 남습니다.
그리고 이렇게 학습된 신경망에 왼쪽의 푸른 부분은 제외하고 오른쪽의 신경망만 사용한다고 해보죠.
그러면 스케치된 고양이만 넣어도 색칠이 된 고양이가 output으로 나올 수 있습니다.
* 근미래에 우리가 누리게 될 것
정말 놀라운 일입니다.
위의 방식은 매우 간단히 구현할 수 있는 수준입니다.
좀 더 최신 기술을 소개해보겠습니다.
구글의 RAISR라는 사진 업스케일 기술입니다.
사진 원본의 1/4 용량만으로도 원본 수준으로 복원가능하다고 합니다.
실제로 구글은 현재 1주일마다 10억장 이상의 사진에 이 기술을 사용하고있다고 합니다.
정말 놀라운 일입니다.
생각해보면 이러한 기술들이 발전하여 이 기술을 활용한 비디오 코덱이 나오고, 비디오 재생 플레이어가 나온다면 지금 우리가 사용하는 1K 동영상 용량으로 4K 동영사을 재생할 수도 있는 겁니다.
더 나아가면 가상현실(VR) 기술에도 꼭 필요한 기술입니다.
가상현실 기기들은 굉장히 높은 해상도가 필요하지만 이 해상도를 구현할 하드웨어 성능이 부족한 현실입니다.
저는 하루빨리 이러한 기술들이 빨리 보급되길 기다리고 있습니다.
개인적으로 이러한 기술을 일반인들이 많이 관심갖길 바라고 있지만 수학적인 부분을 빼놓고 딥러닝을 설명하는데에 한계가 있습니다.
하지만 구글의 Tensorflow처럼 수학적인 부분을 모르고도 최신 딥러닝 기술을 활용할 수 있도록 하는 툴이 많이 나오고 있기때문에 딥러닝으로 무엇을 할 수 있는지 아는 것만으로도 좋은 아이디어가 있다면 충분히 이 분야의 기술들을 활용할 수 있을 것입니다.
앞으로도 딥러닝의 최신 기술들이나 원리에 대해 간략하게 설명할 예정입니다.
그리고 개인적으로도 딥러닝이나 인공지능 부분을 전공으로 하고 있는 분이 있다면 저도 많이 도움을 받을 수 있으면 좋겠습니다.
오랜만에 돌아온 @jihangmoogan님 이군요!
머신러닝으로 연구했던 한사람이지만, 이전에 사진을 찍는 사람이기에 더 설레네요!
포커스가 나간 사진도 저렇게 스케일 업 할 수 있는지 집 가자마자 확인해봐야겠습니다!
일단 리스팀해놓겠습니다:)
포커스 나간 사진이 어떻게되었나 궁금합니다. 후기 남겨주세요 ㅎㅎㅎ
아 요몇일 회식이라 아무것도 못했네요ㅠ
오늘은 꼭 해보렵니다!
이제서야 해보려 했으나, http://waifu2x.udp.jp/는 제대로 작동하지 않더군요ㅠㅠ
용량이나 px 제한을 맞춰보려했으나.. 웹사이트 문제인거 같습니다ㅎㅎ
일단 7/9 새로운 사이트? 알고리즘?이 나온다고 하니, 그 이후에 하거나
깃허브에서 소스를 보고 적용하는건 천천히 나중에 해보려고 합니다.
nice
감사합니다 :)
오 파일 용량을 딥러닝을 통해서도 줄일 수 있군요... 고양이 인식 방법을 보니 플라톤의 이데아가 떠오르기도합니다. 앞으로 삶의 많은 부분이 바뀌겠네요 :)
그렇네요. 우리 세상도 스케치에 지나지 않을 수 있겠네요.
흥미롭고 좋은 정보 감사드립니다.
네, 감사합니다. ㅎㅎ
이런 신기술에 대한 포스팅 참 좋습니다.
앞으로도 많이 부탁드려요 감사해요 ^^
신기술 정말 좋아합니다... 앞으로 이런 포스팅 많이 하겠습니다. 감사합니다.
알파고님 충성충성 저는 구리스와 wd-40을 잘 씆니다
ㅋㅋㅋㅋㅋㅋㅋ 다행히 알파고가 레캉님 분야를 침범하진 않겠네요.
주변에서 딥러닝 얘기를 종종 들어서 그게 뭔가 궁금했는데 오늘 궁금증을 조금 해소했네요!ㅎㅎ 앞으로 포스팅도 기대하겠습니다~!
네, 감사합니다
좋은 정보 공유해주셔서 감사합니다!
감사합니다. ㅎㅎ
흥미로운 지식 얻어가네요ㅎ
저는 학사까지 기계공학을 전공했는데 딥러닝까지 연관되어 전공할 수 있군요
네, 학회를 가보면 요즘 기계공학 연구에서도 딥러닝을 적용하는 사례가 간간히 소개되고 있습니다.
유용한 정보 감사합니다
감사합니다~