'Deep Learning/resources'에 해당되는 글 145건

  1. 2019.10.21 Learn how you can Convert Speech to Text in Python ! https://www.thepythoncode.com/article/using-speech-recognition-to-convert-speech-to-text-python
  2. 2019.10.21 Jeremy가 medical imaging 관련, 세 번째 Kaggle 노트북을 공개 했습니다. 이번 노트북에서는 크게 두 가지의 내용이 등장합니다.1. GPU 최적화 방법을 사용한 한 배치의 모든 사진의 brain 영역에 대한 mas..
  3. 2019.10.19 안녕하세요 박찬준입니다. 지난 8월 SKT아카데미에서 진행했었던 모두를 위한 기계번역 동영상 자료를 공유드립니다. https://www.youtube.com/watch?v=3WvA-sFiI6w&list=PL9mhQYIlKEhcyCTvJq6tGJ3_B6hRjLm2N 총 8개..
  4. 2019.10.18 [D] Uncertainty Quantification in Deep Learning [1] 강아지/고양이 이미지를 학습시킨 모델에 개구리 이미지를 입력으로 넣으면 어떤 값이 나올까요? Uncertainty를 직관적으로 잘 설명해주는 블로그 포스팅..
  5. 2019.10.17 스탠포드 대학의 CS 221 인공지능, CS 229 머신러닝, CS 230 딥러닝 수업의 요약 정리가 한국어로도 지원되고 있네요. 좋은 세상입니다!^^
  6. 2019.10.17 [P] Albumentations, an image augmentation library version 0.4 released [1] Image Augmentation 라이브러리인 Albumentations의 0.4 버전이 공개되었습니다. 이런 Image Augmentation 라이브러리를 사용하면 좋은 점으로 크게 ..
  7. 2019.10.15 일하기 싫어서 재미로 학습해본 seq2seq 모델을 공유합니다 :D 텍스트를 입력하면 성경 말투(?)로 변환해줘요 ㅋㅋㅋㅋㅋㅋ https://github.com/MrBananaHuman/TextToBible
  8. 2019.10.15 잘 만든 Keras 모델을 모바일로 포팅해서 앱을 만들고자 하시는 분들 많으시죠? 어떻게 하면 될까요? 이 문제를 잘 정리한 글입니다.
  9. 2019.10.08 안녕하세요 :) 금요일에 찬성님이 공유해주신 Full Stack Deep Learning Bootcamp 강의가 너무 좋아 바로 강의를 듣고 정리했습니다 단순히 Production할 때 Serving을 어떻게 해야한다 이런 한정적 내용만 ..
  10. 2019.10.02 Adam을 개선한 RAdam의 배경과 실행방법
  11. 2019.09.24 이제 저작권 없는 인물사진을 사용할 수 있다는,,
  12. 2019.09.24 안녕하세요, 수아랩의 이호성입니다. - ICCV(International Conference on Computer Vision) 학회는 컴퓨터 비전에서 최고 수준의 학회이며 올해는 서울 코엑스에서 10/27 ~ 11/2 일주일간 개최가 됩니다. - ICCV ..
  13. 2019.08.28 Reinforcement Learning KR 에서 행사가 하나 있었습니다.
  14. 2019.08.26 AI 연구원, 머신러닝이 연금술에 불과하다고 역설
  15. 2019.08.20 2014 ~ 현재까지 등장한 거의 모든(?) Object Detection 모델, 패러다임, Metric, 성능, 데이터셋등을 조사한 논문입니다.
  16. 2019.08.18 Coursera, Udacity, Stanford, Berkeley, and Google offer excellent intros to Machine Learning. Here are a full set of notes, and primers to get started.
  17. 2019.08.18 구글 이미지를 통해서, 데이터셋 구축을 시도하시는 분들이 많을 것으로 생각 됩니다. 여러가지 방법이 있긴 하지만, fastai 학생 중 한명이 작성한 매우 단순하면서도, 꽤 괜찮은 방법이 있어..
  18. 2019.05.14 AI공부를 시작하시는 많이 분들이 TFKR에서 많은 정보를 얻어가시는 것 같은데, 주옥 같은 정보들이 흩어져 있는 것 같아서 한 번 모아봤습니다.
  19. 2019.05.14 비전공자인 제가 어떻게 머신러닝을 공부했고, 제가 발견한 머신러닝 공부자료를 공유해드리고자 글을 씁니다.^^ 1
  20. 2019.05.03 수화를 텍스트로 번역해주는 인공지능:
  21. 2018.06.17 Object Detection with 10 lines of code – Moses Olafenwa – Medium
  22. 2018.03.09 실용적인 머신러닝 학습을 위한 리소스
  23. 2018.01.01 Denny Britz wrote a comprehensive review on AIDL in 2017. The interesting part of this review is it doesn't focus on one particular subfield and it's quite suitable for beginners.
  24. 2017.12.30 Avoid Overfitting By Early Stopping With XGBoost In Python
  25. 2017.12.22 Two months exploring deep learning and computer vision
  26. 2017.12.09 과제를 준비하면서 사용하였던 colorization, google deepdream, style transfer, matting 알고리즘에 대해 간단히 정리해보았습니다. (논문 + 코드 링크 정리입니다.) opencv grabcut도 있음
  27. 2017.11.29 수학 필요한 과목 How much mathematics does an IT engineer need to learn to get into data science/machine learning?
  28. 2017.11.29 딥러닝의 내부에서 일어나는 일을 Information Theory로, 그 중에서도 Information Bottleneck 이라는 원리로 접근하는 이론에 관한 글입니다
  29. 2017.11.24 Kaggle-knowhow 한국분들을 위한 Kaggle 자료 모음입니다
  30. 2017.11.18 구글에서 공개한 머신러닝 용어집 (https://developers.google.com/machine-learning/glossary/) 을 번역한 글입니다
Learn how you can Convert Speech to Text in Python !

https://www.thepythoncode.com/article/using-speech-recognition-to-convert-speech-to-text-python
https://www.facebook.com/groups/machinelearningforum/permalink/10158415239143475/?sfnsn=mo
Posted by uniqueone
,

https://www.facebook.com/groups/fastaikr/permalink/2430550040493776/

Jeremy가 medical imaging 관련, 세 번째 Kaggle 노트북을 공개 했습니다. 이번 노트북에서는 크게 두 가지의 내용이 등장합니다.

 

1. GPU 최적화 방법을 사용한 한 배치의 모든 사진의 brain 영역에 대한 masking, cropping, resizing 을 한번에 수행 방법

2. parallel 함수를 이용해서, 1번에서 수행된 전처리된 이미지를 16bit PNG 파일로의 저장을 병렬 처리하는 방법

 

이 두개 모두 fastai 에서 제공하는 라이브러리로, 내부적인 구현은 PyTorch의 연산을 사용한것 같습니다. 다만, handy한 함수들을 제공하는것이죠. 이때까지 처럼 fastai 라이브러리의 접근 방식 그대로 입니다.

  • Pandas, PyTorch 라이브러리와 seamless하게 잘 동작한다고 이해하시면 될것 같습니다.

 

1, 2번 방법을 사용해서, 약 300GB의 데이터를 16bit PNG 파일로 저장하는데 걸린 시간은 약 20분 정도라고 합니다. 정확히 사용한 GPU 스펙은 나와 있지 않지만, Jeremy 본인이 사용한 GPU면 적어도 2080Ti 수준이 아닐까 싶습니다.

 

이 방법의 보다 자세한 내용은 아래 링크를 참고해 주시기 바랍니다

https://www.kaggle.com/jhoward/cleaning-the-data-for-rapid-prototyping-fastai

 

아직 현재 진행중인 RSNA 캐글 대회에 적용 가능한 내용으로, 이 대회에 참여하시는 분들께 도움이 될 것 같습니다. 또한, GPU를 이용한 빠른 전처리 방법으로, 관련 분야 종사자 분들께도 좋은 소식이 되었으면 합니다!

 

첨부그림1. fastai 의 mask_from_blur 함수를 이용한, 마스킹 결과

첨부그림2. brain 영역의 cropping 결과

첨부그림3. 1번과 2번을 모두 수행하기 위한 코드

첨부그림4. 잘못된 RescaleIntercept의 수정, 전 후 결과 - 노트북에 포함되어 있습니다.

 

 

 

 

 

Posted by uniqueone
,
안녕하세요 박찬준입니다.

지난 8월 SKT아카데미에서 진행했었던 모두를 위한 기계번역 동영상 자료를 공유드립니다.

https://www.youtube.com/watch?v=3WvA-sFiI6w&list=PL9mhQYIlKEhcyCTvJq6tGJ3_B6hRjLm2N

총 8개의 강의로 이루어져있습니다 ^^

대상: 일반인 (최대한 쉽게 설명 및 핵심만 설명)

내용: 자연어처리 기초부터 규칙기반, 통계기반, 딥러닝 기반 기계번역에 대해서 알아보고 OpenNMT 기반 실습을 진행하였습니다.
https://www.facebook.com/groups/PyTorchKR/permalink/1504456079694068/?sfnsn=mo
Posted by uniqueone
,
[D] Uncertainty Quantification in Deep Learning [1]
강아지/고양이 이미지를 학습시킨 모델에 개구리 이미지를 입력으로 넣으면 어떤 값이 나올까요? Uncertainty를 직관적으로 잘 설명해주는 블로그 포스팅이 있어서 공유합니다 [2] (진짜 쉽게 설명해요).
Uncertainty에는 크게 (발음하기도 어려운) 두 가지가 있습니다.
Epistemic uncertainty : model uncertainty

Aleatory uncertainty : potential intrinsic randomness of the real data generating process)

블로그 포스팅[2]에서는 두 가지 Uncertainty의 개념과 이를 어떻게 측정(Quantification)할 수 있는지를 다룹니다.
REFERENCES
[1] https://www.reddit.com/r/MachineLearning/comments/dj3jex/d_uncertainty_quantification_in_deep_learning/
[2] https://www.inovex.de/blog/uncertainty-quantification-deep-learning/
https://m.facebook.com/groups/869457839786067?view=permalink&id=2516849618380206&sfnsn=mo
Posted by uniqueone
,
스탠포드 대학의 CS 221 인공지능, CS 229 머신러닝, CS 230 딥러닝 수업의 요약 정리가 한국어로도 지원되고 있네요.

좋은 세상입니다!^^
https://www.facebook.com/groups/TensorFlowKR/permalink/1011760289165029/?sfnsn=mo
Posted by uniqueone
,
[P] Albumentations, an image augmentation library version 0.4 released [1]
Image Augmentation 라이브러리인 Albumentations의 0.4 버전이 공개되었습니다.
이런 Image Augmentation 라이브러리를 사용하면 좋은 점으로 크게 두 가지를 꼽자면,
1. TensorFlow/PyTorch 같은 딥러닝 프레임워크에서 기본적으로 제공하는 Image Transformation보다 훨씬 더 다양한 방법의 변환들을 간편하게 적용할 수 있음 (특히 최신 data augmentation 알고리즘이 구현되어있어서 좋음)
2. Transformation으로 인해 발생하는 Label (Masks, BBoxes, Keypoints)의 변화를 직접 계산해주지 않아도 됨
등의 장점이 있습니다 (또 어떤 좋은 점이 있을까요)
자세한 내용은 albumentations GitHub[2]  을 참고해 주시기 바랍니다. Readme에서 조금만 내려보면, 단위 시간당 처리 속도에 관한 밴치마크도 보실 수 있습니다. Notebook형태의 튜토리얼 문서가 있어서 한번 시도해보면 좋을 것 같습니다.

REFERENCES
[1] https://www.reddit.com/r/MachineLearning/comments/dibnqe/p_albumentations_an_image_augmentation_library/
[2] https://github.com/albu/albumentations
https://www.facebook.com/groups/TensorFlowKR/permalink/1009977712676620/?sfnsn=mo
Posted by uniqueone
,
일하기 싫어서 재미로 학습해본 seq2seq 모델을 공유합니다 :D
텍스트를 입력하면 성경 말투(?)로 변환해줘요 ㅋㅋㅋㅋㅋㅋ

https://github.com/MrBananaHuman/TextToBible
https://www.facebook.com/groups/TensorFlowKR/permalink/1009977712676620/?sfnsn=mo
Posted by uniqueone
,
잘 만든 Keras 모델을 모바일로 포팅해서 앱을 만들고자 하시는 분들 많으시죠? 어떻게 하면 될까요? 이 문제를 잘 정리한 글입니다.


https://www.facebook.com/groups/1738168866424224/permalink/2422195841354853/?sfnsn=mo
Posted by uniqueone
,
안녕하세요 :)
금요일에 찬성님이 공유해주신 Full Stack Deep Learning Bootcamp 강의가 너무 좋아 바로 강의를 듣고 정리했습니다

단순히 Production할 때 Serving을 어떻게 해야한다 이런 한정적 내용만 가르쳐주지 않고, 프로젝트 전반에 대해 생각하면 좋은 점, 딥러닝 프로젝트 트러블 슈팅 및 자주 하는 실수(Shape mitmatch, Casting issue, OOM 등)을 알려주고 있어서 매우 유익합니다

큰 그림을 잘 그려주는 강의라 생각합니다 :)

관심있으신 분들은 보시면 후회하지 않으실 강의입니다!

---

부트캠프의 목적은 Production화하기 위한 모든 것들을 가르치는 것입니다
- Problem을 명확히하고 프로젝트의 cost를 측정
- Data를 찾고, 전처리하고, 라벨링
- 적절한 Framework와 Infra를 선정
- 학습의 reproducibility 관련 트러블슈팅
- 대규모 모델 Deploy
https://www.facebook.com/groups/1738168866424224/permalink/2415463898694714/?sfnsn=mo
Posted by uniqueone
,

https://www.facebook.com/groups/726202694419379/permalink/909151656124481/

 

Adam을 개선한 RAdam의 배경과 실행방법

- 딥러닝 과학기술 그룹

 

'그래서 결론은, 아담(Adam)' 이라며 옵티마이저 수업을 끝내도 무리가 없었을 만큼,

아담은 고급 경사하강법들 중 대표주자 격이었습니다. 그런데, 몇주 전 아담을 개선한 RAdam(Rectified Adam)이 나왔고 이게 더 좋다며 들썩이고 있습니다. 가장 좋은 것이 개선되어 새로 나왔으니 새로운 대표주자의 탄생일까요?

 

옵티마이저는 SGD, 모멘텀, 알엠에스프롭 등의 순서로 발표되었는데 나중에 발표될 수록 앞서 나온것을 참조하게되므로 나중 것이 예전 것보다 성능이 개선되는 경향이 있습니다. 따라서 RAdam을 이해하기 위해서는 먼저 그동안 나온 옵티마이저들의 흐름을 파악해 보는 것이 좋습니다. 옵티마이저의 개선 방향과 그 끝에 나온 RAdam에 관하여 간단히 정리해 보았습니다.

 

1. 경사하강법을 개선한 SGD

딥러닝을 배울 때 반드시 배우게 되는 것이 경사 하강법(Gradient Decent, GD)입니다. 미분을 이용해 가중치를 업데이트 하는 것이지요. 그런데 경사 하강법은 한번 업데이트 할 때 마다 전체 데이터를 미분해야 하므로 계산량이 매우 많았습니다. 이러한 점을 보완하기 위해 전체 데이터가 아닌, 랜덤하게 추출한 일부만을 사용하는 확률적 경사 하강법(Stochastic GD, SGD)이 나왔습니다. SGD가 기존의 GD를 대체해 감과 동시에, 이처럼 기존의 방법을 개선한 '고급 경사하강법'들이 연이어 소개되기 시작합니다.

 

2. 관성과 방향을 고려한 모멘텀

미분을 통해 기울기를 구하는 건 같지만, 오차 수정전 바로 앞 수정값과 방향(+,-)를 참고하여 같은 방향으로 일정한 비율만 수정되게 하는 방법이 모멘텀(Momentum)입니다. 이 아이디어로 인해 양의 방향과 음의 방향으로 지그재그가 크게 반복되며 수정 되는 현상이 개선되었고 이전 이동값을 고려하여 일정 비율 만큼만 다음값을 결정하므로 관성의 효과를 낼 수 있었습니다.

 

3. 모멘텀을 개선한 네스테로프 모멘텀

모멘텀이 이동시킬 방향을 정하면, 그 방향으로 미리 이동해서 기울기를 계산, 불필요한 계산량을 줄이고 정확도를 향상시키는 방법이 제안 되었습니다. 네스테로프 모멘텀(Nesterov momentum)이라고 불리우는 고급 경사 하강법입니다.

 

4. 보폭의 크기를 개선한 아다그라드와 아다그라드를 개선한 알엠에스프롭

이어서 변수의 업데이트가 잦으면 학습률을 적게 하여 이동 보폭을 조절하는 아이디어를 담은 아다그라드(Adagrad)가 소개되었고, 이 아다그라드의 보폭 민감도를 보완한 알엠에스프롭(RMSprop)이 등장했습니다.

 

6. 모멘텀과 알엠에스 프롭의 장점을 합친 아담

아담은 모멘텀을 사용해 정확도를 향상시키고 알엠에스프롭를 이용해 보폭 민감도를 보완한 방법입니다. '결론은 아담'이었던 이유는 아담이 그동안 나온 고급 경사하강법들의 장점을 모아 만들어 졌기 때문입니다.

 

7. 그 아담을 개선한 RAdam

드디어 RAdam의 등장입니다. 일리노이즈 대학, 조지아텍 그리고 마이크로소프트에 소속된 멤버들이 아담을 연구하던 중, 초기에 낮은 학습률로 warmup을 해주거나, 모멘텀을 잠시 꺼주면 아담의 성능이 향상되는 이유를 조사했습니다. 이를 정리해 발표한 논문 (참고자료 2)에 등장한 것이 RAdam입니다.

 

[RAdam의 실행]

케라스를 사용하는 경우, 다음과 같이 자신의 프로젝트에 적용할 수 있습니다.

 

1. pip install keras-rectified-adam 로 인스톨 후,

2. from keras_radam import RAdam 로 불러와서,

3. model.compile(RAdam(), loss="sparse_categorical_crossentropy", metrics=["accuracy"]) 이런식으로 컴파일 할때 옵티마이저 부분을 대체해 줍니다.

 

파이토치로 만들어진 공식 깃헙은 아래 주소입니다.
https://github.com/LiyuanLucasLiu/RAdam

 

아래 참고자료(3)은 RAdam의 원리에 대한 간단한 소개 및 Adam과의 결과를 비교하는 것을 보여줍니다. (수정/추가) 여기 실린 두개의 결과 그림을 가져와 첨부했었는데, RAdam의 loss가 Adam보다 더 낮지 않은 예시였고, 여러 데이터 집합의 결과를 검토해 한번 더 올리겠다고 예고된 바, RAdam 논문에 실린 그림으로 대체하였습니다.

 

 

참고 자료

1. 모두의 딥러닝, 길벗 (pp 116~119, "속도와 정확도 문제를 해결하는 고급 경사 하강법"편)

2. Liu, Liyuan, et al. "On the variance of the adaptive learning rate and beyond." arXiv preprint arXiv:1908.03265 (2019). https://arxiv.org/pdf/1908.03265.pdf

3. "Rectified Adam (RAdam) optimizer with Keras" https://www.pyimagesearch.com/2019/09/30/rectified-adam-radam-optimizer-with-keras/

 

Posted by uniqueone
,

https://www.facebook.com/groups/TensorFlowKR/permalink/992502631090795/?sfnsn=mo

Generative Modeling
100,000 Faces Imagined by a GAN (generative adversarial network): https://generated.photos
#DeepLearning #GAN #GenerativeAdversarialNetwork
Posted by uniqueone
,

https://www.facebook.com/groups/TensorFlowKR/permalink/992561731084885/?sfnsn=mo

안녕하세요, 수아랩의 이호성입니다.
- ICCV(International Conference on Computer Vision) 학회는 컴퓨터 비전에서 최고 수준의 학회이며 올해는 서울 코엑스에서 10/27 ~ 11/2 일주일간 개최가 됩니다.

- ICCV 2019 통계
올해 총 4303편의 논문이 submit 되었고 그 중 25%의 1077편만이 accept이 되었다고 합니다. 2017년에 비해 submit된 논문의 편수가 거의 2배가 되었습니다.

- accepted paper list   http://iccv2019.thecvf.com/program/main_conference
에서 확인하실 수 있습니다.

- 키워드 분석
올해는 어떤 키워드로 논문이 많이 제출되었는지도 분석을 해보았습니다.
컴퓨터비전 학회답게 image, object, detection, video, segmentation, 3d 등 general한 키워드들이 주를 이루었고, "attention", "unsupervised", "re-identification" 등 특징적인 키워드들이 늘어난 점이 인상깊습니다.

- 코드 및 이미지 자료
시각화에 사용한 코드와 이미지들은 제 github repository에서 확인하실 수 있습니다.
https://github.com/hoya012/ICCV-2019-Paper-Statistics

공부하시는데 도움이 되셨으면 좋겠습니다. 감사합니다!😆
Posted by uniqueone
,

https://m.facebook.com/groups/245664385452646?view=permalink&id=2694782997207427&sfnsn=mo

#RLKorea행사 #RL_RealWorld #발표자료
안녕하세요! 지난 8월 26일 월요일에 Reinforcement Learning KR 에서 행사가 하나 있었습니다.
제목은 "이쯤 되면 RL도 Real World로 나가봐야지!" 였는데요🙂

행사에서 연사자분들이 발표하셨던 자료를 공유하고자 합니다~!!!🤩🤩

- Game: <하스스톤> 강화학습 환경 개발기 (Nexon Korea 옥찬호 (Chan-Ho Chris Ohk))
--> https://www.slideshare.net/utilforever/rlkorea-166558013/utilforever/rlkorea-166558013

- Recommender System: Atari는 더 이상 Naver... (NAVER Search&Clova Dialog 주찬웅)
--> https://www.slideshare.net/w0ong/atari-naver

- Control: Rainbow의 혈관 속 탐험 (Medipixel 김경환)
--> https://www.slideshare.net/KyunghwanKim27/rainbow-the-rainbows-adventure-in-the-vessel-rl-korea-166819765

끝으로, 본 행사를 빛내주신 연사자분들, 참석자분들께 감사드립니다!

올해 11월이나 12월 쯤에 좀 더 큰 공간에서 다양한 도메인에 계시는 연사자분들을 모시고 행사를 할 예정입니다. 못오신 분들은 그 때 뵈어요!🙌🙌
감사합니다~!😁
Posted by uniqueone
,

https://github.com/jehyunlee/texts/blob/master/AI_researchers_allege_that_machine_learning_is_alchemy/text.md?fbclid=IwAR0xKKFftD-uPn06lIDoGvtBoqP7FGD5lSXuuyzxqW8js7kNJ0VObeppxZI

AI 연구원, 머신러닝이 연금술에 불과하다고 역설

원본 주소 : https://www.sciencemag.org/news/2018/05/ai-researchers-allege-machine-learning-alchemy
번역 철학 : 매끄럽게 읽으실 수 있는 적절한 의역을 지향합니다.
전문 용어 : 가급적 우리말 용어를 사용하고자 하며, 원어를 병기합니다.



3D 공간의 최소값을 찾는 알고리즘에서, 경사하강법은 시행착오에 기반한 최적화를 수행한다.


지난 12월, 캘리포니아의 샌프란시스코에 있는 구글(Google)에서 AI 연구원으로 일하는 Ali Rahimi가 날린 한 방에 박수세례가 40초간 이어졌다. 한 AI 컨퍼런스에서 머신러닝 알고리즘이 시행착오를 통해 학습하는 일종의 연금술이 되었음을 폭로한 것이다(본 글에서는 연금술이라는 단어가 '체계적인 지식이나 접근법 없이, 되면 좋고 안되면 말고 식으로 결과를 운에 맡기고 이런 저런 시도를 반복하는 행태'를 가리키는 데 쓰였다: 역자 註). Rahimi에 따르면 연구원들은 왜 어떤 알고리즘은 작동하고 다른 알고리즘은 작동하지 않는지 알지 못하며, 다른 것들을 제치고 특정한 AI 아키텍처를 선정하는 견고한 기준선이 없다. 4월 30일 캐나다 밴쿠버에서 열린 International Conference on Learning Representations에서 Rahimi와 동료들은 그들이 어떤 행위들을 연금술로 간주하는지에 대한 사례를 공개하고, AI의 신뢰성을 강화하는 방법을 제시했다.

Rahimi는 이렇게 말했다.
"이 분야는 고뇌를 피할 수 없습니다. 우리 중 대다수가 외계 기술을 다루는 것 같은 느낌을 받아요."

이 이슈는 AI의 재현성 문제(실험 및 출판 사례에서 일관성이 결여되어 서로의 연구를 재현하지 못하는 문제)와는 별개의 것이고, 흔히 말하는 머신 러닝의 '블랙 박스' 또는 '설명력' 문제(특정 AI가 어떻게 이 결론에 이르렀는지 설명하는데 어려움을 겪는 문제)와도 다르다. Rahimi가 말하듯, "블랙 박스인 머신 러닝과 블랙 박스가 되어버린 어떤 총체적 분야 사이에 경계선을 긋고자 한" 것이다.

Rahimi는 연구자들이 마치 중세의 연금술사들처럼 새로운 알고리즘을 구축하고 훈련시키는데 필요한 기본 도구에 대한 깊은 이해 없이 AI를 만들어내고 있다고 말한다. 캘리포니아 마운틴 뷰에 있는 구글의 컴퓨터 과학자 프랑소와 숄레(François Chollet)는 이렇게 덧붙인다. "사람들은 화물 숭배(caro-cult: 동남아 원주민들이 2차 세계대전 중 미국과 일본의 전투기가 화물을 나르는 것을 보고, 죽은 조상들이 특별한 화물을 가지고 올 것이라고 믿는 현상: 역자 註) 같은 것에 끌립니다. 전통 신앙이나 마법의 주문 같은 것 말입니다." 예를 들면, 연구원들은 AI의 학습률(learning rate)를 조정하기 위해 일단 뭐라도 시도해보고, 결과가 신통찮으면 값을 바꿔보는 식의 방법을 사용한다. 이 때 왜 어떤 값이 다른 값보다 좋은지에 대한 이해는 없다. 한편으로는 AI 연구원들은 그들의 알고리즘을 어둠 속에서 더듬거리며 학습시키기도 한다. 실패를 최소화하기 위해 알고리즘의 파라미터에 소위 "확률적 경사하강법(stochastic gradient descent)"이라는 것을 적용하는 식이다. 해당 주제에 대한 수천건의 학술 논문과 그 방법들을 적용하기 위한 셀 수 없는 방법들이 있음에도 불구하고, 여전히 시행착오에 의존하고 있는 것이다.

Rahimi의 논문은 발생할 수 있는 노력의 낭비와 최적화 실패에 집중하고 있다. 예를 들어, 첨단(state-of-the-art)의 번역 알고리즘에서 대부분의 복잡성을 벗겨내면, 결론은 영어를 독일어로 또는 프랑스어로 더 잘, 그리고 효율적으로 번역한다는 것 뿐이고 논문의 저자들은 부가적인 부분들이 어디에 좋은지 완전히 파악하지는 못하고 있다. 역으로 말하자면, 논문에 소위 있어 보이려고 덧붙인 부분들이 그 논문에서 유일하게 좋은 부분이라고 Ferenc Huszár (런던의 트위터 머신러닝 연구원)은 말하고 있다. 어떤 경우에 알고리즘의 코어 부분은 기술적으로 결함이 있는데 "순전히 여기 들러붙은 잔기술들 덕택에" 좋은 결론이 나온다는 것이다.

Rahimi는 언제 어떤 알고리즘이 가장 잘 작동하는지에 대한 몇 가지의 제안을 하고 있다. 초심자들에게는 앞서 언급한 번역 알고리즘의 경우와 같이 "어블레이션 연구(ablation studies)"를 적용해야 한다고 한다. 각 부분의 기능을 확인하기 위해 알고리즘을 한 부분 한 부분 제거하면서 실행하는 방식을 말한다. 한편 알고리즘의 성능을 상세하게 분석해서 어떤 부분에서의 개선이 다른 곳에서는 비용으로 작용하는지 들여다보는 "분할 분석(sliced analysis)"을 요구한다. 또한 연구자들이 자신의 알고리즘을 많은 경우의 조건과 세팅에서 시험하고 그 성능을 모두 보고해야 한다고 주장하기도 한다.

University of California, Berkeley의 컴퓨터 과학자이자 Rahimi의 연금술 기조 강연의 공저자인 Ben Recht는, AI는 문제를 작은 'toy problem'으로 축소해서 고민하는 기법을 물리학자들에게서 빌려올 필요가 있다고 한다. "물리학자들이 현상에 대한 설명을 이끌어내기 위한 간단한 시험을 창안하는 것을 보면 놀랍습니다". 어떤 AI 연구자들은 이미 이런 방법에 대해 논의를 시작하고, 영상 인식 알고리즘의 내부 작동원리를 더 잘 이해하기 위해 손으로 쓴 작은 흑백 글자를 대용량 컬러 사진에 앞서 넣어보기도 한다.

런던의 DeepMind 컴퓨터 과학자인 Csaba Szepesvári는 테스트 경쟁을 좀 완화할 필요가 있다고 말한다. 그는 현재 새 알고리즘이 다른 벤치마크를 능가했을 때가 소프트웨어의 내부 알고리즘을 강조했을 때보다 더 쉽게 출판되고 있다고 꼬집는다. "과학의 목적은 지식의 생성입니다. 여러분은 다른 이들이 가져다가 반석으로 삼고 싶은 뭔가를 만들고 싶을 겁니다."

Rahimi와 Recht의 비판에 모두가 동의하는 것은 아니다. 뉴욕의 Facebook 최고위 AI 과학자인 Yann LeCun은 너무 많은 관심이 최첨단의 기술에서 핵심(core)으로 옮겨가는 것은 혁신을 늦추고 AI의 실제 적용을 위축시킬 수 있다고 지적한다. "연금술이 아닙니다. 엔지니어링이죠. 엔지니어링은 원래 지저분한 겁니다."

Recht는 체계적인 연구와 모험적인 연구가 공존하는 곳을 추구한다. "우리에겐 모두가 필요합니다." "우리가 튼튼한 시스템을 만들려면 어디에서 실패가 일어나는지 이해해야 하고, 더 인상적인 시스템을 만들려면 기술의 최전선을 더 앞으로 밀고 가야 합니다."


Posted by uniqueone
,

Object Detection 관련 서베이논문 소개드립니다.

 

Recent Advances in Deep Learning for Object Detection

 

2014 ~ 현재까지 등장한 거의 모든(?) Object Detection 모델, 패러다임, Metric, 성능, 데이터셋등을 조사한 논문입니다. 좋은 참고자료가 될 것으로 생각됩니다!

 

논문: https://arxiv.org/abs/1908.03673v1

Posted by uniqueone
,
Highly recommend Google ML introduction

Coursera, Udacity, Stanford, Berkeley, and Google offer excellent intros to Machine Learning. Here are a full set of notes, and primers to get started.

— Courses:
https://developers.google.com/machine-learning/crash-course/ml-intro
https://onlinehub.stanford.edu/

— Review:
https://www.ubuntupit.com/best-machine-learning-courses-for-free/#20-best-machine-learning-course

Grant Sanderson, Stanford, ML Introductions, are an excellent place to start, before taking online classes. Also take a look at the AI 101 CheatSheet, below:
https://m.youtube.com/watch?feature=youtu.be&v=IHZwWFHWa-w

— Primers, Notes, Groups:
AI 101 CheatSheet: http://www.montreal.ai/ai4all.pdf
Facebook Group: https://www.facebook.com/groups/MontrealAI/
Curated Notes: http://www.academy.montreal.ai/
Jonathan Hui. Hui has excellent primers on Deep Learning that I’ve enjoyed: https://medium.com/@jonathan_hui

— Mathematics:
‘The Matrix Calculus You Need For Deep Learning’ — explained.ai
Terence Parr and Jeremy Howard
https://explained.ai/matrix-calculus/index.html ; http://www.matrixcalculus.org :: https://en.m.wikipedia.org/wiki/Matrix_calculus
— https://machinelearningmastery.com/introduction-to-eigendecomposition-eigenvalues-and-eigenvectors/

Ref — Deep Learning (Adaptive Computation and Machine Learning series)
Ian Goodfellow, Yoshua Bengio, Aaron Courville, pg. 42, https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618/

—•

Primer on Deep Learning, Grant Sanderson (B.S. Mathematics, Stanford '15).

Grant Sanderson became one of the most popular tutors at Khan Academy, before launching 3blue1brown. Grant animates his tutorials with a self-made Python library; here, he introduces neural networks: https://www.3blue1brown.com/neural-networks

detail: https://m.youtube.com/watch?v=tIeHLnjs5U8&t=0m40s

Backgrounders:
https://en.m.wikipedia.org/wiki/3Blue1Brown
https://stanfordirl.com/grant-sanderson-bs15
https://www.numberphile.com/podcast/3blue1brown
[Q&A with Grant Sanderson (3blue1brown): https://m.youtube.com/watch?v=Qe6o9j4IjTo] cc : Pavel Grinfeld]

#machinelearning  #tensorflow  #pytorch  #artificialintelligence  #datascience
Posted by uniqueone
,

https://www.facebook.com/groups/TensorFlowKR/permalink/964597137214678/?sfnsn=mo

안녕하세요?

구글 이미지를 통해서, 데이터셋 구축을 시도하시는 분들이 많을 것으로 생각 됩니다. 여러가지 방법이 있긴 하지만, fastai 학생 중 한명이 작성한 매우 단순하면서도, 꽤 괜찮은 방법이 있어서 소개해 드립니다.

매우 짧은 글로, 사용법을 익히시는데는 약 5분 미만의 시간이 소요됩니다. 그러면, 첨부그림1과 같이 구글 이미지 검색 결과에 대하여, 이미지들에 대한 URL을 몽땅 긁어올 수가 있습니다. 긁어와진 URL은 화면 우측하단에 표시됩니다. (추가적으로, 이미지를 선택/해제도 가능합니다)

이렇게 긁어와진 URL 들은 단순히 복사/붙여넣기 과정을 통해서 CSV 파일형태로 만들 수 있고, fastai 에서는 해당 CSV 파일을 참조하여 데이터셋을 생성하는 기능이 있습니다.

링크: https://github.com/fast-ai-kr/ko-translation/blob/master/tools/gi2ds.md

PS; 덧붙여, 현재 fastai 관련 글을 번역하여 저장하는 저장소를 개설하여 운영중에 있습니다. 번역 대상을 리스트업 하고, 차근차근 번역을 수행할 예정입니다.
누구든 참여가 가능하므로, 참여의사를 밝히신 후, 번역을 진행하시고 PR을 보내주시면 많은분들에게 큰 도움이 될 것 같습니다.

번역 저장소: https://github.com/fast-ai-kr/ko-translation
Posted by uniqueone
,

https://www.facebook.com/groups/TensorFlowKR/permalink/490430184631378/?hc_location=ufi

 

#입문자용_글모음 #자료모음 #AI입문 #커리큘럼 #공부순서

안녕하세요.

오랜만에 글 쓰는 것 같네요.

AI공부를 시작하시는 많이 분들이 TFKR에서 많은 정보를 얻어가시는 것 같은데, 주옥 같은 정보들이 흩어져 있는 것 같아서 한 번 모아봤습니다.

TFKR 글 중 AI입문자들이 꼭 알았으면 하는 혹은 필요로 할 것 같은 글들을 모아봤는데, 회원 여러분들 중에서 혹시 기억나시는 글 있으시면 댓글로 추가해주세요. 본문 업데이트하겠습니다.

+++AI 전문가들의 제언+++
(민현석 님) https://facebook.com/255834461424286_479160352425028
(김남주 님) https://facebook.com/255834461424286_455382238136173
(Andrew Ng 님) https://www.quora.com/How-can-beginners-in-mac…/…/Andrew-Ng…

+++한글 유트브 강좌+++
(남세동 님) https://www.youtube.com/watch
(sung kim님) https://www.youtube.com/watch

+++공부 커리큘럼+++
(영어 자료 기준) https://facebook.com/255834461424286_464930173848046
(한글 자료 기준) https://www.facebook.com/groups/TensorFlowKR/permalink/485458151795248/

+++논문 효과적으로 읽는 법+++
https://facebook.com/255834461424286_463498977324499

+++Numpy로 짜 보는 딥러닝+++
(코드 링크) https://github.com/cthorey/CS231

+++PRML책정리+++
(페북 링크1) https://facebook.com/255834461424286_454547954886268
(자료 링크1) http://norman3.github.io/prml/
(페북 링크2) 책 2장 식(2.117)까지 ipython으로 정리
https://facebook.com/255834461424286_556808447993551

+++E-book 정리+++
(e-book 링크 1) http://neuralnetworksanddeeplearning.com/
(페북 링크) https://facebook.com/255834461424286_451098461897884

(e-book 링크 2) https://leonardoaraujosantos.gitbooks.io/artificial-inte…/…/
(pdf 링크) https://www.gitbook.com/…/le…/artificial-inteligence/details

(e-book 링크 3) https://github.com/HFTrader/DeepLearningBook
(pdf 링크) https://github.com/…/DeepLe…/raw/master/DeepLearningBook.pdf

+++고등학생도 이해하는 딥러닝+++

(페북 링크) https://www.facebook.com/groups/TensorFlowKR/permalink/443348236006240/
원본자료링크가 깨졌다고 하니 아래링크로 받으세요.
(자료 링크) https://drive.google.com/…/fol…/0BwwNF6qNzpOLNXA2OGZ4TW9NNEE

+++케라스와 함께 익히는 딥러닝 개념들+++
(자료 링크)(국문) https://tykimos.github.io/Keras/lecture/

+++딥러닝 기본 개념들 쉽게 정리된 자료+++
(자료 링크)(국문) https://www.slideshare.net/yongho/ss-79607172
(자료 링크)(국문) https://www.slideshare.net/HeeWonPark11/ss-80653977
(페북 링크)(국문)https://facebook.com/555066658167730

+++딥러닝의 기초부터 큰 획을 그었던 논문들까지 익히기+++
(영상 링크)(국문) http://www.edwith.org/deeplearningchoi/
(자료 링크) https://github.com/sjchoi86/dl_tutorials_10weeks

+++CNN초보자가 만든 초보자 가이드+++
(페북 링크) https://facebook.com/255834461424286_425564241117973
(자료 링크) https://www.slideshare.net/leeseungeun/cnn-vgg-72164295
(랩탑에서 TF설치기) https://www.slideshare.net/leeseungeun/tensorflow-tensorflow
(랩탑에서 TF tutorial) https://www.slideshare.net/lee…/tensorflow-tutorial-72217416

+++딥러닝에 필요한 수학과목들+++
(영어 강좌) https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
(과목 리스트 추천)
https://www.quora.com/How-do-I-learn-mathematics-for-machin
(영어 강좌
임성빈 추천) https://www.youtube.com/user/mathematicalmonk?app=desktop
(한글 강좌
JaeJun Yoo 추천) https://www.youtube.com/channel/UCfrr-1XiyqQTh-r3CI2VP2A(확률통계 cookbook) ht…/…/stat-cookbook/releases/download/0.2.4/stat-cookbook.pdf +++딥러닝 자료 총 망라+++ (블로그 링크) https://handong1587.github.io/categories.html

+++딥러닝 기초부터 응용까지 TF로 배워보기+++ [최성준 님 자료] (페북 링크) https://facebook.com/255834461424286_465906737083723 (자료 링크) https://github.com/sjchoi86/dl_tutorials_10weeks (코드 링크)https://github.com/sjchoi86/advanced-tensorflow [안남혁 님 자료] https://github.com/nmhkahn/deep_learning_tutorial [김진중 님 자료] https://github.com/golbin/TensorFlow-Tutorials [이도엽 님 자료] https://github.com/LeeDoYup/Deep-Learning-Tensorflow-Basic

+++한글판 딥러닝 논문 서베이+++ 2012년-2016년에 발간된 이미지 관련 논문들 약 60개 정리 (페북 링크) https://facebook.com/255834461424286_472432669764463
(자료 링크) https://brunch.co.kr/@kakao-it/65 +++자주 언급되는 테크블로그 리스트+++ 1) (원문) http://colah.github.io/ (번역)) https://brunch.co.kr/@chris-song/ 2) http://www.inference.vc/ 3) http://wiseodd.github.io/techblog/ 4) http://jaejunyoo.blogspot.com/search/label/kr
5
) https://www.facebook.com/deeplearningtalk/
6
) http://bcho.tistory.com/category/빅데이타/머신러
7)
https://brunch.co.kr/magazine/kakaoaireport

 

 

 

 

 

 

 

 

 

 

Posted by uniqueone
,

https://www.facebook.com/groups/TensorFlowKR/permalink/608999666107762/?hc_location=ufi

 

안녕하세요. 텐서플로우 코리아!
이번에는 비전공자인 제가 어떻게 머신러닝을 공부했고, 제가 발견한 머신러닝 공부자료를 공유해드리고자 글을 씁니다.^^

시작하기에 앞서 제 소개를 조금 하자면, 저는 기계공학부에 재학 중인 학부생이며, 작년 8월부터 머신러닝 공부를 시작하였습니다. 당시 저는 학부 2학년 학생으로, 확률통계는 고등학교 때 배운 이상 공부하지 않았고, 프로그래밍 언어는 매트랩을 조금 다를 수 있는 것을 제외하고는 완전히 문외한 상태였습니다.

딥러닝에 대해 관심을 갖게 된 후 제일 처음 봤던 강의는
1. 유튜브 '생활코딩'님의 파이썬 강의였습니다.
파이썬을 하나도 모르는 상태였기에 이틀 동안 필요하다 싶은 강의만 골라서 수강을 하였지만, 파이썬을 처음 봐서 그런지 for 문 정도만 이해하였습니다.
** 딥러닝 공부를 하다 보면 아시겠지만, Class를 사용해서 코딩을 정말 많이 합니다. 반드시 파이썬 강의를 들으신다면 for문, Class, def는 이해하고 딥러닝 공부 시작하시는 게 좋습니다.

* 영어가 되시는 분들은 sentdex채널의 파이썬 강의를 들으면 좋다고 하네요!
(Seungwoo Lee님 감사합니다!)

2. '생활코딩'강의를 듣고 나서 들은 것이 김성훈 교수님의 '모두의 딥러닝'강의입니다. 듣기 전부터 2회 독을 하자는 마음으로 들었고 제가 파이썬을 잘 몰랐기에 강의에 사용된 코드는 모조리 다 외워서 사용했습니다.
(같은 문제에 대한 코딩만 10번 이상 한 것 같습니다.)

3. 그 다음 들었던 강의가 CS231N인데 제가 영알못이기도 했고, 모두의 딥러닝도 완벽히 이해하지 못한 상태여서 한번 완강을 했는데도(복습은 하지 않았습니다) 이해를 거의 하지 못했고 시간만 낭비했습니다. ㅠㅠ

이렇게 위의 3 강의를 듣는데 1달 반 정도 걸렸고, 이후로는 학기가 시작이 되어 학기 공부를 한다고 딥러닝 공부는 많이 못 한 것 같습니다.

4. 학기 중에는 '라온피플'이라는 회사에서 운영하는 블로그 "https://laonple.blog.me/221196685472"에서 딥러닝에 관한 공부자료를 올리는데 이 자료를 읽으며 공부를 했습니다.

5. 또한 학기 중에는 꾸준히 Tensorflow korea에서 올라오는 글들을 눈팅했는데, 눈팅한다고 딥러닝 실력이 느는 것은 아니지만 최신 딥러닝의 동향을 알 수 있었고, 제가 답할 수 있는 자료는 답변을 달면서 공부했던 것 같습니다.

이렇게 학기가 지나가고 겨울방학이 왔는데 이때부터는 다음과 같이 공부한 것 같습니다.

6. CS231N을 다시 공부하였습니다. 확실히 '라온피플'에서 batch_normalization, CNN의 역할, Overfitting의 이유 등 여러 가지 딥러닝 지식을 공부하고 강의를 들으니 옛날에 이해했던 것보다 더 많이 이해가 되더군요. 그래서 일주일에 3강씩 1달 안 걸려 CS231N을 다 공부한 것 같습니다.

7. CS231N을 공부하면서 같이 해본 것이 Backpropagation에 대해 수학적으로 증명을 해보았습니다. 수학적으로 증명을 해봤는데 수식은 이해를 했는데 내용은 아직도 잘 이해를 못 한 것 같네요...ㅠ 아무튼 제가 생각하기에 Backpropagation은 반드시 한번 정리할 필요가 있다고 생각합니다.

8.CS231N도 공부했겠다. 이제 논문을 읽으면서 공부를 해야겠다고 생각을 했고, 하필이면 처음 건드렸던 논문이 Restricted Boltzmann machine입니다. MLE, MAP, Likelihood가 무엇인지 전혀 몰랐던 저는 이를 공부하기 위해
구글링과 페북에 수많은 질문을 하며..(죄송합니다 ㅠㅠ) 조금씩 공부해나갔습니다.

9. RBM이 생각보다 만만치 않은 논문이었기에 최성준님의 강의도 보고, 여러 가지 블로그들을 찾아보며 공부를 했습니다 . 결론적으로 MLE, MAP 및 고전 딥러닝에 대해서도 알아야 되겠다고 생각했고, Kooc의 KAIST 문일철 교수님의 인공지능학개론1을 수강하였습니다.

이것이 제가 지금까지 공부한 과정이며, 앞으로는 Kooc 문일철 교수님 인공지능학개론2, 심화 인공지능학개론을
수강할 예정입니다.

------------------------------------------------------------------------------------------------------
공부하면서 느낀 주관적인 생각과 공부 자료에 대해서 소개를 해드리자면 다음과 같습니다.

1.프로그래밍도 중요하지만 확률통계 '수학'도 상당히 중요한 것 같습니다. 특히 Generative model 또는 Reinforcement learning에서 수학을 많이 사용하는 것 같은데 이쪽으로 공부를 해보고 싶다고 생각하면 수학을 소홀히 하면 안 될 듯합니다.

2.Tensorflow ? Keras ? Pytorch? 어떤 것을 사용해야 할까요?? => 저는 Tensorflow를 쓰지만, 개인 취향인 것 같습니다. 하지만 들리는 소리에 의하면 놀 때는 pytorch, 연구할 때는 Tensorflow, 내 코드가 조금 더럽다 싶으면 Keras인 것 같습니다. 프레임 워크는 별로 안 중요한 것 같네요.(초보자의 생각입니다 ㅋㅋ)

3. 자신이 연구자가 될지 개발자가 될지를 선택하고 이에 따라 공부 방향을 선택하는 게 좋을 것 같습니다. 연구자는 수학 쪽이나 논리 쪽으로 더욱 공부하면 좋을 것 같고, 개발자는 코드짜는 것을 공부하는데 더욱 많은 시간을 할애하는 게 좋다고 생각합니다.

<공부 자료>

1. 김성훈 교수님의 모두를 위한 딥러닝 강좌시즌 1: https://www.youtube.com/watch
** 딥러닝 입문강의로 수식이 적고 코드가 그렇게 복잡하지는 않습니다. 입문용으로 추천합니다.

2. 김성훈 교수님의 모두를 위한 RH 강좌: https://www.youtube.com/playlist
** 아직 안 봐서 잘 모르겠지만, 김성훈 교수님 강좌임으로 강력히 추천합니다!

3. 김성훈 교수님의 Pytorch zero to all : https://www.youtube.com/playlist
** 김성훈 교수님의 딥러닝 파이 토치 강의로 추천합니다.

4. PR12(논문 읽기 모임 유튜브 녹화본): https://www.youtube.com/watch?v=auKdde7Anr8&t=4s
** 딥러닝 관련 논문을 읽고 발표를 한 것을 동영상으로 올려주며 난도는 조금 높을 수도 있기 때문에 논문을 읽어보신 분들께 추천합니다.

5. 테리의 딥러닝 토크: https://www.youtube.com/watch
** 엄태웅 님의 딥러닝 관련 토크로 저는 안 봐서 잘 모르지만 쉬운 영상도 있고 어려운 영상도 있다고 알고 있습니다. 또한, 엄태웅님이 원래는 기계공학 전공이기에 기구학? 관련 강의도 있는데 흥미 있으신 분들에게는 추천합니다!

6. 최성준 님의 딥러닝 강의: http://www.edwith.org/search/show
** 입문용은 아닌 것 같고, 약간 어렵습니다. 하지만 다양하고 대표적인 주제들을(RBM, LSTM, GAN, IMAGE CAPTIONING, CNN, Neural style 등)을 가지고 있기에 CS 231n을 듣고 나서 본격적으로 딥러닝 공부를 시작하겠다 하시는 분들이 듣기에는 정말 좋은 강의인 것 같습니다. 영어발음이 너무 좋으십니다. 리스릭 보츠만 뭐신... ㅋㅋ

7. CS231N: 스탠퍼드 딥러닝 강좌로 딥러닝의 처음부터 최근에 뜨고 있는 주제들에 대해서 강의가 진행됩니다. 매년 다루는 범위가 다르고, 강의해주시는 분들 실력도 엄청나게 출중하셔서 영어만 잘한다면 정말 추천해 드리는 강좌이고 영어를 잘 못해도 꼭 들어야 하는 강좌라고 생각합니다.

8. Natural language processing at stanford: https://www.youtube.com/watch
** 컴퓨터 비전 분야에서는 CS231N이 있다면 Natural language processing에는 이 강좌가 있습니다!

9.Andrew NG 코세라 강의: 딥러닝의 대가 Andrew NG의 딥러닝 강의가 코세라에 있습니다. 강력하게 추천하지만 제가 안 들어봐서 난이도가 어떤지는 잘 모르겠습니다.

10.문일철 교수님 인공지능학개론1 : http://kooc.kaist.ac.kr/machinelearning1_17
**전통 머신러닝에 대한 강의로 기본적인 확률통계 MLE, MAP부터 시작해서 SVM까지 진도를 나갑니다. 내용은 살짝 어려울 수가 있으며 개인적으로 Generative model 공부하기 전에 들으면 좋다고 생각합니다. 기계학습에서 확률통계가 어떻게 사용됐는지를 느낄 수 있는 강의라고 생각합니다. 강력추천!

11.문일철 교수님 인공지능학개론2: http://kooc.kaist.ac.kr/machinelearning2__17
** 베이지안 네트워크, clustering, Markov 체인, mcmc 방법 등을 다루며, 내용이 상당히 어렵지만, 논문을 읽다
보면 항상 나오는 그놈의 Markov 때문에 저는 수강하기로 했습니다.

12. 문일철 교수님기계학습 심화 강좌: https://www.youtube.com/watch
** 대학원 수업 정도의 난이도를 가진 강좌입니다. 본분 추론 및 최근 유행하고?? 있는 Gaussian process에 대해
다루는 수업인데 아주 어렵습니다. ㅠㅠ(아직 안 들었지만 느낌상으로 그럼..)

13. 남세동님의 휴먼 러닝: https://www.youtube.com/watch
** 안 들어 봐서 잘은 모르겠지만, 강의 시간이 그렇게 길지도 않고 남세동님이 워낙 똑똑하시고 자신만의 철학이 확고하시기에 들으면 정말 도움이 많이 될 것으로 생각합니다!!

<공부 깃허브>

1. 활석님의 Gan Github: https://github.com/…/tensorflow-generative-model-collections
** 두말할 필요가 없습니다.

2. 최성준님의 깃헙: https://github.com/sjchoi86
** 정말 많은 공부자료가 있습니다.

3. 김준호 님의 깃허브: https://github.com/taki0112
** 코드가 정말 깔끔하여 정말 좋습니다 ㅎ

4.차준범님의 깃허브: https://github.com/khanrc/tf.gans-comparison
** 활석님과 마찬가지로 ICCV 튜토리얼에 등장한 레포지토리 입니다.

5.HVASS-LABS: https://github.com/Hvass-Labs/TensorFlow-Tutorials
** 제가 초창기에 공부했던 자료입니다. 그렇게 어렵진 않지만, 코드가 상당히 길어 힘들 수도 있습니다.

<수학관련 자료>

1. 비숍의 PRML 책을 한국어로 번역해놓은 블로그: http://norman3.github.io/prml/
** 이 어려운 것을 이 분이 해냈습니.....ㄷ

2. 베이지안 딥러닝 관련 최성준님 자료 :https://github.com/sjchoi86/bayes-nn
** 대단하십니다 .

3. 조준우 님의 PRML 요약 : http://nbviewer.jupyter.org/…/blob/m…/PRML/prml-chap2.ipynb…
** 세상에는 정말 잘하는 사람들이 많은 것 같네요.

4. 딥러닝에서 사용하는 Matrix Calculus: http://parrt.cs.usfca.edu/doc/matrix-calculus/index.html

5. 3Blue1Brown: https://www.youtube.com/watch
** 이 유투브 주인의 정체가 궁금합니다. 외계인이 아닐...런지 ㅋㅋ

<공부 블로그>

1. 조대협님의 블로그 :http://bcho.tistory.com/1149
** 조대협님하면 두말없이 봐야되는거 아니겠습니까? ㅎㅎ

2. 초짜 대학원 생입장에서 이해하는 ~ 블로그: http://jaejunyoo.blogspot.com/…/generative-adversarial-nets…
** '자칭' 초짜라고 말하시는 갓재준님께서 운영하는 블로그인데 쉽게 여러가지 딥러닝 이론들을 설명해놨다고 합니다. 솔찍히 쉽지는 않은 그런 블로그입니다. 그렇다고 그렇게 어렵지도 않아요 ㅎ

3. 라온피플 블로그: https://laonple.blog.me/221196685472
** 제가 공부했던 블로그로 정말 쉽게 잘 설명 해놨습니다.

4. 송호연 님의 블로그: https://brunch.co.kr/magazine/ai-first
**KL-Divergence 잘봤습니다 ㅎ

5. 블로그는 아니지만 제가 만들었던 자료들 입니다. 이것도 많이 읽어주세요!
https://www.facebook.com/groups/TensorFlowKR/permalink/608541436153585/

< 기타 링크자료 >

1. 활석님 딥러닝 정리자료 : https://www.facebook.com/groups/TensorFlowKR/permalink/451098461897884/

2. 활석님 VAE자료: https://www.facebook.com/groups/TensorFlowKR/permalink/496009234073473/

3. 네이버 테크톡: http://tv.naver.com/v/2417457

4. 활석님의 입문자를 위한 글모음:https://www.facebook.com/groups/TensorFlowKR/permalink/490430184631378/

이상이고 길이 상당히 길어 오탈자나 문법에 안 맞는 말들이 많을 수도 있지만, 이해해주시고 읽어주시길 부탁드립니다. ㅎ

다들 즐거운 하루되세요!

 

 

 

 

 

 

 

 

Posted by uniqueone
,
안녕하세요 케라스 코리아 여러분!

* 수화를 텍스트로 번역해주는 인공지능: https://blogs.nvidia.co.kr/…/…/ai-translates-sign-language/…
* 수화를 통역해주는 장갑: https://m.facebook.com/story.php?story_fbid=255318208158674&id=214142335609595

이거를 보다가 딥러닝에 적용할 수 있을까 생각하다가 의문점이 생겼습니다.

수화는 class 마다 길이가 다를테고, 사람마다 transient(다음 동작을 위한 손의 이동) 길이가 다를텐데 어떻게 RNN을 적용 할 수 있을까요?

바꿔서 질문드리면, 그림처럼 Real-world에서는 수화1 -> transient(손이 이동) -> 수화2 -> transient -> 수화3-... 이런식일텐데,
결과1과 4는 각각 수화1, 2하고 겹치는 영역이 많아 올바른 결과를 낼것 같은데, 결과 2,3 은 transient때문에 수화 n, m의 결과를 낼 것 같습니다.
이럴때 어떻게 해야하는걸까요?

crop된 데이터만 가지고 시계열을 하다가 real-world로 가려니 어떻게 해야하는지 모르겠습니다.

다들 지나가시는길에 한말씀씩 조언해주시면 큰 도움이 될 것 같습니다 :)
감사합니다!
Posted by uniqueone
,
https://medium.com/@guymodscientist/object-detection-with-10-lines-of-code-d6cb4d86f606
Posted by uniqueone
,
실용적인 머신러닝 학습을 위한 리소스
이 게시물은 5가지 환상적이며 실용적인 머신러닝 자료를 제공하며 기초에서 머신러닝을 다루는 것은 물론 처음부터 알고리즘을 코딩하고 특정 딥러닝 프레임 워크를 사용합니다.

1. Machine Learning Tutorial for Beginners
https://www.kaggle.com/kanncaa1/machine-learning-tutorial-for-beginners
이 튜토리얼에서는 머신러닝 학습보다는 스스로 학습하는 방법을 설명합니다.

2. Python Machine Learning (2nd Ed.) Code Repository
https://github.com/rasbt/python-machine-learning-book-2nd-edition
" Python Machine Learning (2nd Ed.) " 의 코드 레포입니다.

3. Machine Learning From Scratch
https://github.com/eriklindernoren/ML-From-Scratch
가능한 투명하고 접근하기 쉬운 방법으로 내부의 동작을 표현하는 것을 목표로 합니다.

4. Deep Learning - The Straight Dope
http://gluon.mxnet.io/

5. fast.ai Practical Deep Learning For Coders, Part 1 (2018 edition)
http://course.fast.ai/
Posted by uniqueone
,
Denny Britz wrote a comprehensive review on AIDL in 2017.  The interesting part of this review is it doesn't focus on one particular subfield and it's quite suitable for beginners.

http://www.wildml.com/2017/12/ai-and-deep-learning-in-2017-a-year-in-review/
Posted by uniqueone
,
https://machinelearningmastery.com/avoid-overfitting-by-early-stopping-with-xgboost-in-python/

Avoid Overfitting By Early Stopping With XGBoost In Python
Posted by uniqueone
,
https://towardsdatascience.com/two-months-exploring-deep-learning-and-computer-vision-3dcc84b2457f

 

Two months exploring deep learning and computer vision

I decided to develop familiarity with computer vision and machine learning techniques. As a web developer, I found this growing sphere exciting, but did not have any contextual experience working with these technologies. I am embarking on a two year journey to explore this field. If you haven’t read it already, you can see Part 1 here: From webdev to computer vision and geo.

I️ ended up getting myself moving by exploring any opportunity I️ had to excite myself with learning. I wasn’t initially stuck on studying about machine learning, but I wanted to get back in the groove of being excited about a subject. I️ kicked off my search by attending a day-long academic conference on cryptocurrencies, and by the time the afternoon sessions began, I realized machine learning and computer vision was much more interesting to me.

Getting started

I️ kick-started my explorations right around the time a great book on the cross section of deep learning and computer vision was published. The author, Adrian Rosebrock from PyImageSearch.com, compiled a three volume masterpiece on the high level ideas and low level applications of computer vision and deep learning. While exploring deep learning, I️ encountered numerous explanations of linear regression, Naive Bayesian applications (I️ realize now that I️ have heard this name pronounced so many different ways), random forest/decision tree learning, and all the other things I’m butchering.

I️ spent a few weeks reading the book and came away feeling like I️ could connect all the disparate blog posts I have read up to now to the the array of mathematical concepts, abstract ideas, and practical programming applications. I read through the book quickly, and came away with a better sense of how to approach the field as a whole. My biggest takeaway was coming to the conclusion that I️ wanted to solidify my own tools and hardware for building computer vision software.

Hardware implementation

I️ was inspired to get a Raspberry Pi and RPI camera that I️ would be able to use to analyze streams of video. Little did I know that setting up the Raspberry Pi would take painfully long. Initially, I️ expected to simply get up and running with a video stream and process the video on my computer. I️ struggled with getting the Raspberry Pi operating system to work. Then, once I️ realized what was wrong, I️ accidentally installed the wrong image drivers and unexpectedly installed conflicting software. The process that I️ initially thought would be filled with processing camera images, ended up becoming a multi hour debugging nightmare.

So far, I️ have realized that this is a huge part getting started with machine learning and computer vision “stuff” is about debugging.

Step 1.Get an idea. 
Step 2. Start looking for the tools to do the thing. 
Step 3. Install the software needed. 
Step 4. Drown in conflicts and unexpected package version issues.

https://aiyprojects.withgoogle.com/vision#list-of-materials

My original inspiration behind the Raspberry Pi was the idea of setting up a simple device that has a camera and GPS signal. The idea was based around thinking about how many vehicles in the future, autonomous or fleet vehicles, will need many cameras for navigation. Whether for insurance purposes or basic functionality, I️ imagine that a ton of video footage will be created and used. In that process, there will be huge repositories of media that will go unused and become a rich data source for understanding the world.

I️ ended up exploring the Raspberry Pi’s computer vision abilities, but never successfully got anything interesting working as I’d hoped. I️ discovered that there are numerous cheaper Raspberry Pi-like devices, that had both the interconnectivity and the camera functionality in a smaller PCB board than a full size Raspberry Pi. Then I️ realized that rather than going the hardware route, I️ might as well have used an old iPhone and developed some software.

My brief attempt at exploring a hardware component of deep learning made me realize I should stick to software where possible. Including a new variable when the software part isn’t solved just adds to the complexity.

Open source tools

In the first month of looking around for machine learning resources, I found many open source tools that make getting up and running very easy. I knew that there were many proprietary services provided by the FANG tech companies, but I wasn’t sure how they competed with the open source alternatives. The image recognition and OCR tools that can be used as SAAS tools from IBM, Google, Amazon, and Microsoft are very easy to use. To my surprise, there are great open source alternatives that are worth configuring to avoid unnecessary service dependence.

For example, a few years ago, I launched an iOS application to collect and share graffiti photos. I was indexing images from publicly available API’s with geotagged images, such as Instagram and Flickr. Using these sources, I used basic features, such as hashtags and location data, to distinguish if images were actually graffiti. Initially, I began pulling thousands of photos a week, and soon scaled to hundreds of thousands a month. I quickly noticed that many of the images I indexed were not graffiti and instead were images that would be destructive to the community I was trying to foster. I couldn’t prevent low-quality photos of people taking selfies or poorly tagged images that were not safe for work from loading in people’s feeds. As a result, I decided to shut down the overall project.

#graffiti results on instagram

Now, with the machine learning services and open source implementations for object detection and nudity detection, I can roll my own service that easily checks each of the photos that get indexed. Previously, if I paid a service to do that quality checking, I would have been racking up hundreds of dollars if not thousands of dollars in API charges. Instead, I can now download an AMI from some “data science” AWS box and create my own API for checking for undesired image content. This was out of reach for me, even just two years ago.

Overview

On a high level, before undergoing this process, I felt like I theoretically understood most of the object recognition and machine learning processes. After beginning the process of connecting the dots between all the machine learning content I had been consuming, I feel like I am much more clear on what concepts I need to learn. For example, rather than just knowing that linear algebra is important for machine learning, I now understand how problems are broken into multidimensional array/matrices and are processed in mass quantities to look for patterns that are only theoretically representable. Before, I knew that there was some abstraction between features and how they were represented as numbers that could be compared across a range of evaluated items. Now I understand more clearly how dimensions, in the context of machine learning, are represented by the sheer fact that there are many factors that are directly and indirectly correlated to one another. The matrix math that the multidimensional aspects of feature detection and evaluation is still a mystery to me, but I am able to understand the high level concepts.

The previously illegible network architecture graphs are now seemingly approachable.

Concretely, the reading of Adrian Rosebrock’s book gave me the insight to decode the box-line diagrams of machine learning algorithms. The breakdown of a deep learning network architecture is now somewhat understandable. I am also familiar with the datasets (MNIST, CIFAR-10, and ImageNet) that are commonly used to benchmark various image recognition models, as well as the differences between image recognition models (such as VGG-16, Inception, etc).

Timing — Public Funding

One reason I decided machine learning and computer vision are important to learn now is related to a concept I learned from the book: Areas with heavy government investment in research are on track to have huge innovation. Currently, there are hundreds of millions of dollars being spent on research programs in the form of grants and scholarships, in addition to the specific funding being allocated to programs for specific machine learning related projects.

Example of pix2pix algorithm applied to “cat-ness”. https://distill.pub/2017/aia/

In addition to government spending, publicly accessible research from private institutions seems to be growing. The forms of research that currently exist, coming out of big tech companies and public foundations, are pushing forward the entire field of machine learning. I personally have never seen the same concentration of public projects funded by private institutions in the form of publications like distill.pub and collectives like the OpenAI foundation. The work they are putting out is unmatched.

Actionable tasks

Reviewing the materials I have been reading, I realize my memory is already failing me. I’m going to do more action-oriented reading from this point forward. I have a box with GPUs to work with now, so I don’t feel any limitations around training models and working on datasets.

Most recently, I attended a great conference on Spatial Data Science, hosted by Carto. There, I became very aware of how much I don’t know in the field of spatial data science. Before the conference, I was just calling the entire field “map location data stuff”.

Most recently, I attended a great conference on Spatial Data Science, hosted by Carto. Through the process, I am made very aware of how much I don’t know in the field of spatial data science. Before the conference, I was just calling the entire field “map location data stuff”.

I’ll continue making efforts to meet up with different people I find online with similar interests. I’ve already been able to do this with folks I find who live in New York and have written Medium posts relevant to my current search. Most recently, when exploring how to build a GPU box, I was able to meet a fellow machine learning explorer for breakfast.

By the middle of January, I’d like to be familiar with technical frameworks for training a model around graffiti images. I think at the very least, I want to have a set of images to work with, labels to associate the images to, and a process for cross-checking an unindexed image against the trained labels.


Thanks to Jihii Jolly for correcting my grammar.

Posted by uniqueone
,
https://m.facebook.com/groups/255834461424286?view=permalink&id=570463146628081

다들 아시는 정보이시겠지만, 과제를 준비하면서 사용하였던 colorization, google deepdream, style transfer, matting 알고리즘에 대해 간단히 정리해보았습니다. (논문 + 코드 링크 정리입니다.)

올라오는 글들을 보면서 공부에 대해 자극도 많이 받고, 많은 정보를 얻어갑니다. 다들 감사합니다. 부족하지만 조금이나마 도움이 되었으면 합니다. (오류가 있다면 말씀부탁드리겠습니다.)

1. Colorization
(1) Colourful Image Colorization (Zhang et al. 2016)
   Link: http://richzhang.github.io/colorization/
(2) Automatic Colorization of Grayscale Images from Stanford cs229 class
   Description: http://cs229.stanford.edu/proj2013/KabirzadehSousaBlaes-AutomaticColorizationOfGrayscaleImages.pdf
   Code: https://github.com/prblaes/ImageColorization

2. Google deepdream
(1) (For Docker user) https://github.com/VISIONAI/clouddream
(2) (For Python user) https://www.pyimagesearch.com/2015/07/06/bat-country-an-extendible-lightweight-python-package-for-deep-dreaming-with-caffe-and-convolutional-neural-networks/
(3) (For IPython Notebook user) https://github.com/google/deepdream

3. Style Transfer
(1) Deep Photo style transfer (2017)
    paper: https://arxiv.org/abs/1703.07511
    code: https://github.com/luanfujun/deep-photo-styletransfer

4. Matting (Background removal and replacement)
(1) Deep Image Matting (Xu et al. 2017)
    paper: https://arxiv.org/abs/1703.03872
    code: https://github.com/Joker316701882/Deep-Image-Matting

(2) Scribble method
   1) paper: (Wang and Cohen 2005) An Iterative Optimization Approach for Unified Image Segmentation and Matting
   2) paper: (Levin et al. 2008) A Closed-Form Solution to Natural
Image Matting
      code: http://www.alphamatting.com/code.php

(3) Grabcut Method (Rother et al. 2004)
   paper: https://dl.acm.org/citation.cfm?id=1015720
   code: (based on opencv) https://docs.opencv.org/3.1.0/d8/d83/tutorial_py_grabcut.html

Posted by uniqueone
,

How much mathematics does an IT engineer need to learn to get into data science/machine learning?
https://towardsdatascience.com/how-much-maths-does-an-it-engineer-need-to-learn-to-get-into-data-science-machine-learning-7d6a42f79516

Homepage
Towards Data Science
Get started
HOMEDATA SCIENCEMACHINE LEARNINGPROGRAMMINGVISUALIZATIONEVENTSLETTERSCONTRIBUTE
Go to the profile of Tirthajyoti Sarkar
Tirthajyoti Sarkar
Semiconductor technologist, machine learning/data science zealot, Ph.D. in EE, blogger and writer.
Aug 29
How much mathematics does an IT engineer need to learn to get into data science/machine learning?

Disclaimer and Prologue
First, the disclaimer, I am not an IT engineer :-) I work in the field of semiconductors, specifically high-power semiconductors, as a technology development engineer, whose day job consists of dealing primarily with semiconductor physics, finite-element simulation of silicon fabrication process, or electronic circuit theory. There are, of course, some mathematics in this endeavor, but for better of worse, I don’t need to dabble in the kind of mathematics that will be necessary for a data scientist.
However, I have many friends in IT industry and observed a great many traditional IT engineers enthusiastic about learning/contributing to the exciting field of data science and machine learning/artificial intelligence. I am dabbling myself in this field to learn some tricks of the trade which I can apply to the domain of semiconductor device or process design. But when I started diving deep into these exciting subjects (by self-study), I discovered quickly that I don’t know/only have a rudimentary idea about/ forgot mostly what I studied in my undergraduate study some essential mathematics. In this LinkedIn article, I ramble about it…
Now, I have a Ph.D. in Electrical Engineering from a reputed US University and still I felt incomplete in my preparation for having solid grasp over machine learning or data science techniques without having a refresher in some essential mathematics. Meaning no disrespect to an IT engineer, I must say that the very nature of his/her job and long training generally leave him/her distanced from the world of applied mathematics. (S)he may be dealing with lot of data and information on a daily basis but there may not be an emphasis on rigorous modeling of that data. Often, there is immense time pressure, and the emphasis is on ‘use the data for your immediate need and move on’ rather than on deep probing and scientific exploration of the same. Unfortunately, data science should always be about the science (not data), and following that thread, certain tools and techniques become indispensable.
These tools and techniques — modeling a process (physical or informational) by probing the underlying dynamics, rigorously estimating the quality of the data source, training one’s sense for identification of the hidden pattern from the stream of information, or understanding clearly the limitation of a model— are the hallmarks of sound scientific process.
They are often taught at advanced graduate level courses in an applied science/engineering discipline. Or, one can imbibe them through high-quality graduate-level research work in similar field. Unfortunately, even a decade long career in traditional IT (devOps, database, or QA/testing) will fall short of rigorously imparting this kind of training. There is, simply, no need.
The Times They Are a-Changin’
Until now.
You see, in most cases, having impeccable knowledge of SQL queries, a clear sense of the overarching business need, and idea about the general structure of the corresponding RDBMS is good enough to perform the extract-transform-load cycle and thereby generating value to the company for any IT engineer worth his/her salt. But what happens if someone drops by and starts asking weird question like “is your artificially synthesized test data set random enough” or “how would you know if the next data point is within 3-sigma limit of the underlying distribution of your data”? Or, even the occasional quipping from the next-cubicle computer science graduate/nerd that the computational load for any meaningful mathematical operation with a table of data (aka a matrix) grows non-linearly with the size of table i.e. number of rows and columns, can be exasperating and confusing.
And these type of questions are growing in frequency and urgency, simply because data is the new currency.
Executives, technical managers, decision-makers are not satisfied anymore with just the dry description of a table, obtained by traditional ETL tools. They want to see the hidden pattern, they yarn to feel the subtle interaction between the columns, they would like to get the full descriptive and inferential statistics that may help in predictive modeling and extending the projection power of the data set far beyond the immediate range of values that it contains.
Today’s data must tell a story, or, sing a song if you like. However, to listen to its beautiful tune, one must be versed in the fundamental notes of the music, and those are mathematical truths.
Without much further ado, let us come to the crux of the matter. What are the essential topics/sub-topics of mathematics, that an average IT engineer must study/refresh if (s)he wants to enter into the field of business analytics/data science/data mining? I’ll show my idea in the following chart.

Basic Algebra, Functions, Set theory, Plotting, Geometry

Always a good idea to start at the root. Edifice of modern mathematics is built upon some key foundations — set theory, functional analysis, number theory etc. From an applied mathematics learning point of view, we can simplify studying these topics through some concise modules (in no particular order):

a) set theory basics, b) real and complex numbers and basic properties, c) polynomial functions, exponential, logarithms, trigonometric identities, d) linear and quadratic equations, e) inequalities, infinite series, binomial theorem, f) permutation and combination, g) graphing and plotting, Cartesian and polar co-ordinate systems, conic sections, h) basic geometry and theorems, triangle properties.
Calculus
Sir Issac Newton wanted to explain the behavior of heavenly bodies. But he did not have a good enough mathematical tool to describe his physical concepts. So he invented this (or a certain modern form) branch of mathematics when he was hiding away on his countryside farm from the plague outbreak in urban England. Since then, it is considered the gateway to advanced learning in any analytical study — pure or applied science, engineering, social science, economics, …

Not surprisingly then, the concept and application of calculus pops up in numerous places in the field of data science or machine learning. Most essential topics to be covered are as follows -
a) Functions of single variable, limit, continuity and differentiability, b) mean value theorems, indeterminate forms and L’Hospital rule, c) maxima and minima, d) product and chain rule, e) Taylor’s series, f) fundamental and mean value-theorems of integral calculus, g) evaluation of definite and improper integrals, h) Beta and Gamma functions, i) Functions of two variables, limit, continuity, partial derivatives, j) basics of ordinary and partial differential equations.
Linear Algebra
Got a new friend suggestion on Facebook? A long lost professional contact suddenly added you on LinkedIn? Amazon suddenly recommended an awesome romance-thriller for your next vacation reading? Or Netflix dug up for you that little-known gem of a documentary which just suits your taste and mood?

Doesn’t it feel good to know that if you learn basics of linear algebra, then you are empowered with the knowledge about the basic mathematical object that is at the heart of all these exploits by the high and mighty of the tech industry?
At least, you will know the basic properties of the mathematical structure that controls what you shop on Target, how you drive using Google Map, which song you listen to on Pandora, or whose room you rent on Airbnb.
The essential topics to study are (not an ordered or exhaustive list by any means):
a) basic properties of matrix and vectors —scalar multiplication, linear transformation, transpose, conjugate, rank, determinant, b) inner and outer products, c) matrix multiplication rule and various algorithms, d) matrix inverse, e) special matrices — square matrix, identity matrix, triangular matrix, idea about sparse and dense matrix, unit vectors, symmetric matrix, Hermitian, skew-Hermitian and unitary matrices, f) matrix factorization concept/LU decomposition, Gaussian/Gauss-Jordan elimination, solving Ax=b linear system of equation, g) vector space, basis, span, orthogonality, orthonormality, linear least square, h) singular value decomposition, i) eigenvalues, eigenvectors, and diagonalization.
Here is a nice Medium article on what you can accomplish with linear algebra.
Statistics and Probability
Only death and taxes are certain, and for everything else there is normal distribution.

The importance of having a solid grasp over essential concepts of statistics and probability cannot be overstated in a discussion about data science. Many practitioners in the field actually call machine learning nothing but statistical learning. I followed the widely known “An Introduction to Statistical Learning” while working on my first MOOC in machine learning and immediately realized the conceptual gaps I had in the subject. To plug those gaps, I started taking other MOOCs focused on basic statistics and probability and reading up/watching videos on related topics. The subject is vast and endless, and therefore focused planning is critical to cover most essential concepts. I am trying to list them as best as I can but I fear this is the area where I will fall short by most amount.
a) data summaries and descriptive statistics, central tendency, variance, covariance, correlation, b) Probability: basic idea, expectation, probability calculus, Bayes theorem, conditional probability, c) probability distribution functions — uniform, normal, binomial, chi-square, student’s t-distribution, central limit theorem, d) sampling, measurement, error, random numbers, e) hypothesis testing, A/B testing, confidence intervals, p-values, f) ANOVA, g) linear regression, h) power, effect size, testing means, i) research studies and design-of-experiment.
Here is a nice article on the necessity of statistics knowledge for a data scientist.
Special Topics: Optimization theory, Algorithm analysis
These topics are little different from the traditional discourse in applied mathematics as they are mostly relevant and most widely used in specialized fields of study — theoretical computer science, control theory, or operation research. However, a basic understanding of these powerful techniques can be so fruitful in the practice of machine learning that they are worth mentioning here.

For example, virtually every machine learning algorithm/technique aims to minimize some kind of estimation error subject to various constraints. That, right there, is an optimization problem, which is generally solved by linear programming or similar techniques. On the other hand, it is always deeply satisfying and insightful experience to understand a computer algorithm’s time complexity as it becomes extremely important when the algorithm is applied to a large data set. In this era of big data, where a data scientist is routinely expected to extract, transform, and analyze billions of records, (s)he must be extremely careful about choosing the right algorithm as it can make all the difference between amazing performance or abject failure. General theory and properties of algorithms are best studied in a formal computer science course but to understand how their time complexity (i.e. how much time the algorithm will take to run for a given size of data) is analyzed and calculated, one must have rudimentary familiarity with mathematical concepts such as dynamic programming or recurrence equations. A familiarity with the technique of proof by mathematical induction can be extremely helpful too.
Epilogue
Scared? Mind-bending list of topics to learn just as per-requisite? Fear not, you will learn on the go and as needed. But the goal is to keep the windows and doors of your mind open and welcoming.
There is even a concise MOOC course to get you started. Note, this is a beginner-level course for refreshing your high-school or freshman year level knowledge. And here is a summary article on 15 best math courses for data science on kdnuggets.
But you can be assured that, after refreshing these topics, many of which you may have studied in your undergraduate, or even learning new concepts, you will feel so empowered that you will definitely start to hear the hidden music that the data sings. And that’s called a big leap towards becoming a data scientist…
#datascience, #machinelearning, #information, #technology, #mathematics
If you have any questions or ideas to share, please contact the author at tirthajyoti[AT]gmail.com. Also you can check author’s GitHub repositories for other fun code snippets in Python, R, or MATLAB and machine learning resources. You can also follow me on LinkedIn.
Machine LearningData ScienceMathematicsStatisticsLinear Algebra
One clap, two clap, three clap, forty?
By clapping more or less, you can signal to us which stories really stand out.


81

Follow
Go to the profile of Tirthajyoti Sarkar
Tirthajyoti Sarkar
Semiconductor technologist, machine learning/data science zealot, Ph.D. in EE, blogger and writer.
Follow
Towards Data Science
Towards Data Science
Sharing concepts, ideas, and codes.
More on Statistics from Towards Data Science
The 10 Statistical Techniques Data Scientists Need to Master
Go to the profile of James Le
James Le

8.3K

Also tagged Statistics
Should you write about real goals or expected goals? A guide for journalists.
Go to the profile of David Sumpter
David Sumpter

27

Related reads
How to choose effective MOOCs for machine learning and data science?
Go to the profile of Tirthajyoti Sarkar
Tirthajyoti Sarkar

422
Posted by uniqueone
,
https://m.facebook.com/groups/255834461424286?view=permalink&id=565488850458844

딥러닝의 내부에서 일어나는 일을 Information Theory로, 그 중에서도 Information Bottleneck 이라는 원리로 접근하는 이론에 관한 글입니다.
한마디로 딥러닝 아키텍쳐안의 노드는 바틀넥처럼 작용하여 자기에게 들어온 인포메이션 중 미래의 목표와 관련된 것들만을 선별하고 그 나머지는 버림으로서 (여기서는 compression이라 표현) 일반화라는 목표에 도달하게 된다는 것입니다. 
즉 개냐 고양이냐 0이냐 1이냐 하는 식으로 일반화하는 데에 필요한 정보들만 계속 추상화되어 바틀넥안으로 밀어넣어진다는 것인데 이 과정에서 인풋에 들어있는 얼마나 많은 정보들이 걸러지고 버려지겠는지만 생각해보아도 딥러닝의 파워를 한 번에 느껴볼 수가 있어요. 다시말해 입력의 세부 정보들은 모두 압축되고 혹은 날아가고 기다 아니다, 이거다 저거다만 남는 것이니 러닝의 가장 중요한 부분은 버리는데서 이루어진다는 것. 쿨!

이 이론을 발표한 이스라엘의 히브루 대학의 물리학 교수인 Naftali Tishby는 자신이 수십년간 연구해온 이 인포메이션 바틀넥 원리라는 주제를 최근 성공적으로 딥러닝의 내부 작용의 원리와 연관을 시켜내었습니다. 이 기사에서 보면 딥러닝의 대부인 힌튼교수도 그의 유튜브 동영상 강연을 보고는 잘 이해하기는 어렵지만 딥러닝 내부 원리를 설명하는 좋은 이론인 거 같다며 Tishby의 연구 결과에 찬사를 보냈다고 하네요. *힌튼교수가 보았다는 그의 동영상 강의는 여기. https://www.youtube.com/watch?v=bLqJHjXihK8&t=2234s

P.S.: 며칠전에 여기에 딥러닝의 블랙박스라는게 뭘 모른다고 하는거냐고 툭 묻듯이 한 줄 썼는데 관심 가져주신 분들 감사합니다. ^^ 
Tishby교수의 동영상 강연은 심도가 있는 반면 매우 테크니컬한 면이 있어서 이해하기에 어려운 점이 있었는데 이 기사는 영문이지만 읽기에 크게 어렵지 않아 이 글을 공유합니다.

https://www.wired.com/story/new-theory-deep-learning/?mbid=social_fb_onsiteshare
Posted by uniqueone
,

Kaggle-knowhow/README.md at master · zzsza/Kaggle-knowhow · GitHub
https://github.com/zzsza/Kaggle-knowhow/blob/master/README.md
Posted by uniqueone
,
역시나 래블업에서 다른 작업중에 파생된 결과물을 공개합니다.

구글에서 공개한 머신러닝 용어집 (https://developers.google.com/machine-learning/glossary/) 을 번역한 글입니다. TensorFlow 및 케라스 온라인 강의/실습을 준비하며 용어 통일 및 참조용으로 만든 글인데, 고칠 부분에 대해 피드백을 받을 겸 먼저 공개해 봅니다.

많은 도움이 되셨으면 합니다.

덧) 고수님들께 피드백도 많이 부탁 드립니다!
덧2) 가능하면 연말까지는 하루에 하나씩 backend.AI 및 코드온웹의 파생 결과물들을 공개해 보겠습니다!

https://www.codeonweb.com/@mookiekim/ml-glossary
Posted by uniqueone
,