본문 바로가기

딥러닝

[논문리뷰] DeepMind RETRO - 수 조개의 토큰 DB로부터 정보를 검색해 강화된 언어모델 블로그 : https://www.deepmind.com/publications/improving-language-models-by-retrieving-from-trillions-of-tokens 논문 : https://arxiv.org/abs/2112.04426 Motivation 언어 모델이란 '가장 자연스러운 단어 시퀀스를 찾아내는 모델'로 단어의 시퀀스에 확률을 할당(assign) 하는 일을 하는 모델이다. 그리고 이러한 작업을 학습하기 위해 가장 보편적으로 사용하는 방법은 언어모델이 이전 단어들이 주어졌을 때 다음 단어를 예측하도록 훈련시키는 것이다. 지난 몇 년 동안 컴퓨팅 자원의 발달에 힘입어 언어모델은 더 큰 파라미터를 더 많은 데이터에 대해 학습하는 방향으로 발전해왔다. 2020년 1750.. 더보기
[ML Ops] - 지속가능한 AI서비스를 위한 Model Drift의 인지 및 관리 Model Drift란 "변화한다는 것만이 인생에서 유일하게 변하지 않는 점이다" - Heraclitus 머신러닝이 가정하는 강력한 전제 중 하나는 independent identical data이다. 즉, 모델이 지속적으로 성능을 유지하려면 모델이 처리하는 데이터와 환경이 동일해야 한다는 것이다. 하지만 현실 세계의 모든 것은 변한다. 고객, 환경, 상품, 산업 등등 변화는 끊임없이 지속된다. Model drift란 이렇게 변화하는 환경에 따라 모델의 성능이 저하되는 현상을 의미한다. Model Drift의 종류 Model Drift는 그 원인에 따라 아래과 같이 구분할 수 있다. Concept Drift : 예측하려고 하는 변수의 의미가 바뀌는 경우 (예) "금융사기" 예측 모델에서 "금융사기"의 정.. 더보기
[논문리뷰] Multimodal Neurons in Artificial Neural Networks 원문: https://distill.pub/2021/multimodal-neurons/ ** 본 논문은 인공 뉴런이 특정 개념 및 그와 관련된 이미지에 반응하는 현상에 대해 다룹니다. 이 중 어떤 뉴런은 인물, 정치, 종교, 지역, 정신질환 등 민감한 주제를 다룹니다. 저자는 모델이 웹상의 자료를 학습함에 따라 편견과 스테레오타입을 학습했을 수 있으며, 어떤 독자들에게는 이러한 민감한 주제에 대해 읽는 것이 거북할 수 있음을 경고하였습니다. [ 같은 개념에 대한 다양한 형태에 반응하는 뉴런이 존재한다 ] 2005년 네이처지에 의 존재에 대한 연구가 발표되었다. 이 뉴런은 특정한 인물, 예를 들어 미드 에서 레이첼 역을 맡은 제니퍼 애니스톤이나 할리베리와 같은 사람들에게 특징적으로 반응한다. 흥미로운 점은.. 더보기
Topic Segmentation 서베이 (2) | 유사도 기반의 클러스트링 - Dot Plotting 원문 - http://www.eecs.qmul.ac.uk/~mpurver/papers/purver11slu.pdf 본 서베이에서는 긴 컨텍스트를 주제적 일관성이 있는 segment로 나누는 방법에 대해 다룹니다. 포스팅은 이 중에서 대화 전사 텍스트 혹은 대화 STT 결과물 등을 segment하는 방법에 초점을 맞추어 정리하였습니다. 지난 글 : 2021.10.05 - [AI] - Topic Segmentation 서베이 (1) | Lexical Similarity 기반 기법 - TextTiling in Python Topic Segmentation 서베이 (1) | Lexical Similarity 기반 기법 - TextTiling in Python 원문 - http://www.eecs.qmul.ac... 더보기
Topic Segmentation 서베이 (1) | Lexical Similarity 기반 기법 - TextTiling in Python 원문 - http://www.eecs.qmul.ac.uk/~mpurver/papers/purver11slu.pdf 본 서베이에서는 긴 컨텍스트를 주제적 일관성이 있는 segment로 나누는 방법에 대해 다룹니다. 포스팅은 이 중에서 대화 전사 텍스트 혹은 대화 STT 결과물 등을 segment하는 방법에 초점을 맞추어 정리하였습니다. Topic Segmentation이란 토픽 세분화란, 전체 녹취록이나 전사 스크립트 등을 보다 짧고, 주제적인 일관성을 가지는 덩이로 나누는 것을 의미한다. 통으로 되어 있는 문서를 이렇게 같은 주제로 나누는 작업은 검색(Information Retrieval)에서 필요한 부분의 정보만을 제공하는 등 유용하게 사용할 수 있다. 뿐만 아니라 컨텐츠에 있는 각 segment의 .. 더보기
PoseNet: TensorFlow.js으로 실시간 human pose estimation 구현하기 자바스크립트로 ML 모델을 개발하고 브라우저 혹은 Node.js에서 실행할 수 있는 TensorFlow.js을 활용하여 실시간으로 사람의 자세를 추정하는 human pose estimation을 구현할 수 있습니다. 참고 자료 : https://blog.tensorflow.org/2018/05/real-time-human-pose-estimation-in.html 구글 라이브 데모 >> https://storage.googleapis.com/tfjs-models/demos/posenet/camera.html PoseNet - PoseNet은 MobileNet 혹은 ResNet 기반의 human pose estimation 네트워크이다. - TensorFlow.js에서 실행할 수 있기 때문에 a) 웹캠 혹.. 더보기
[TensorFlow] Callback 사용하기 - 커스텀 콜백 / 모델 학습 / 평가 🙋‍♀️ Callback은 모델 학습 중 호출할 수 있는 기능을 의미한다. 🙋‍♀️ tf.keras.callbacks에는 함수가 구현되어 있으며, 직접 필요한 기능을 구현해 사용하는 것도 가능하다. Callback Classes 기본 Callback 관련 클래스 Callback 베이스 클래스로부터 새로운 콜백을 만들 수 있는 클래스 LamdaCallback 간단한 커스텀 콜백을 on-the-fly로 생성할 수 있는 콜백 CallbackList 콜백의 리스트를 추출할 수 있는 컨테이너 Logging 관련 클래스 BaseLogger 에포크별로 metric의 평균을 축적하는 콜백 CSVLogger 결과를 CSV 파일로 스트리밍하는 콜백 ProgbarLogger metric을 stdout으로 프린트하는 콜백 R.. 더보기
[TensorFlow] Vision Modeling(2) Transfer Learning 🙋‍♀️ tf.keras.applications 모듈에서 사전학습된 모델 불러와 fine-tuning하기 🙋‍♀️ Layer freezing / unfreezing 구현하기 TensorFlow에서 전이학습하기 From-scratch training vs Transfer Leraning ▶ From-scratch 학습 이전 글에서는 CNN 아키텍처를 만들어 TensorFlow에서 이미지 분류 모델을 학습하는 방법을 공부했다. 내가 디자인한 모델은 학습 데이터셋을 통해 weight를 조절하며 최종 태스크를 수행할 수 있는 representation을 학습하였다. 이렇게 모델의 파라미터를 랜덤하게 초기화하고, 데이터에 대해 모델을 학습시키는 것을 from-scratch 학습이라고 한다. ▶ Transfer L.. 더보기