본문 바로가기

기술 이야기32

Python과 Selenium을 활용한 웹 크롤링 실습 - (1) 안녕하세요, 오늘은 Python과 Selenium을 활용한 웹 크롤링을 다뤄보도록 하겠습니다. 컴퓨터 비전을 주로 하는 제가 크롤링을 이토록 많이 하게 될 줄은 몰랐는데요... 많은 과제를 수행하다보니 크롤링 하는 방법 정도는 기본으로 알아야만 한다고 느낄 정도로 활용도가 높습니다. 대부분의 인터넷 페이지에서 내가 원하는 정보를 긁어올 수 있는 크롤링을 차근차근 설명 해보겠습니다. 참고로 이 글은 Python 환경설정은 하실 수 있다는 전제를 깔고 있습니다. 혹시 Python 설치부터 궁금하신 분은 wikiDocs를 참조하시면 쉽습니다 (크롤링은 Jupyter Notebook 환경이 압도적으로 편합니다). 그리고 이 포스팅의 환경은 Python 3.11 Selenium 4.11.2 (Selenium 4).. 2023. 8. 28.
(2/2) AudioGen: Textually Guided Audio Generation 리뷰 앞선 내용은 AudioGen: Textually Guided Audio Generator 1부에서 읽어주세요 (1/2) AudioGen: Textually Guided Audio Generation 리뷰 안녕하세요, 오늘은 AudioGen: Textually Guided Audio Generation 논문을 살펴보도록 하겠습니다. 논문 제목은 AudioGen인데 코드나 블로그에서는 AudioCraft라고 소개하고 있습니다. 프로젝트 이름이 AudioCraft, thecho7.tistory.com Audio Representation 먼저 좋은 Audio representation을 얻기 위해 Auto-encoder를 제대로 학습해야 합니다. 아래는 그 과정에서 가장 중요한 Training objectiv.. 2023. 8. 6.
(1/2) AudioGen: Textually Guided Audio Generation 리뷰 안녕하세요, 오늘은 AudioGen: Textually Guided Audio Generation 논문을 살펴보도록 하겠습니다. 논문 제목은 AudioGen인데 코드나 블로그에서는 AudioCraft라고 소개하고 있습니다. 프로젝트 이름이 AudioCraft, 모델 이름이 AudioGen입니다. 이번 논문은 제목처럼 텍스트를 입력으로 받아 그에 맞는 소리를 생성하는 생성 AI입니다. 일전에 소개드렸던 ImageBind 리뷰처럼 비슷한 연구가 있어 아주 참신하지는 않지만 어떤 특징을 갖고 어떤 장점이 있는지 설명하겠습니다. 참고로 이 글은 블로그와 논문을 함께 참고하며 작성했습니다. 블로그: AudioCraft 코드: AudioCraft Github 논문: 논문 링크 Introduction 소리를 생성하는.. 2023. 8. 3.
DPU(Data Processing Unit)이란? 안녕하세요, 오늘은 우연히 DPU라는 존재를 듣게 되었습니다. Data Processing Unit이라고 불리는 이 녀석은 CPU, GPU, TPU 등과는 다른 역할을 수행하고 그게 데이터와 밀접한 관련이 있는건가 생각되는데요... 간단하게 DPU가 무엇인지 소개해보도록 하겠습니다. DPU(Data Processing Unit)의 존재 이유 많은 분들께서 AWS S3나 Google Drive 등에 익숙하시리라 생각합니다. 이들은 모두 클라우드 기반 파일 저장 서비스인데요, 지금 쓰고 계시는 컴퓨터의 HDD, SSD와 이 서비스들 사이에 뭔가 다른 점이 있을까? 생각해보면 사실 다르지 않습니다. 요컨데 위의 서비스들 또한 모두 '그저 컴퓨터'에 지나지 않습니다. 그렇다면 지금 내 컴퓨터도 잘 쓰고 있고, .. 2023. 7. 25.
SwiGLU Activation Function 설명 안녕하세요, 오늘은 SwiGLU Activation Function에 대해 리뷰해볼까 합니다. 얼마 전에 Meta에서 발표한 LLAMA 2나 비전에서 최근 좋은 성능을 보여준 EVA-02를 포함한 많은 논문에서 SwiGLU를 채택하고 있습니다. 딥러닝을 공부하다보면 활성화 함수는 다소 사소하게 여겨질 수 있지만 실제로는 그렇지 않고, 심하게는 모델 학습이 정상적으로 되느냐 마느냐를 결정지을 수 있는 중요한 요소입니다. 논문: GLU Variants Improve Transformer SwiGLU 배경 SwiGLU는 Swish + GLU, 두개의 Activation Functions를 섞어 만든 함수입니다. 왜 이런 함수를 설계했는지 하나씩 살펴보고 합쳐서 이해하면 좋겠습니다. Swish Activatio.. 2023. 7. 21.
Self-Supervised Learning from Images with a Joint-Embedding Predictive Architecture (I-JEPA) 논문 리뷰 안녕하세요, 오늘은 I-JEPA라는 Self-Supervised Learning 기법을 소개합니다. 이 방법은 휘황찬란한 Augmentation 기법에 구애받지 않으면서 이미지의 픽셀을 들여다보는 것이 아닌 기존 보다 의미론적 관점에서 조금 더 직관적인 이미지 이해를 위한 설계를 통해 훌륭한 결과를 달성했다고 합니다. 이번 설명은 결론부터 먼저 말씀드리는 방법으로 진행해보겠습니다. 논문: https://arxiv.org/pdf/2301.08243.pdf Github: https://github.com/facebookresearch/ijepa/tree/main I-JEPA 정리 이 논문은 기존 Self-supervised Learning 방법들이 픽셀 수준에서 학습했던 것과는 달리, 모델이 좀 더 고차원적.. 2023. 6. 19.