본문 바로가기

분류 전체보기59

Claude 를 참고하여 나만의 custom dataset 만들기 Custom dataset 을 정의 하는 이유Pytorch 로 deep learning 을 실시할 때 일반적으로 데이터를 그냥 하나를 한번에 가져오는게 아니라 Custom dataset class를 통해 가져온다. 여기서 Custom data class를 사용하는 이유는 다음과 같다.1)    Data 를 한 번에 load 하는 것이 컴퓨터 메모리에 부담이 되기 때문이다. 따라서 큰 Data 를 한번에 다 메모리에 올리는 것이 아니라 이를 ‘mini batch’라는 형태로 토막을 낸다. 그 한 토막을 ‘mini batch’라고 한다. 이 작업을 할 때 분석가가 전체 Data 큰 덩어리 1개를 받아와서 전체 Data size (data 를 구성하는 sample 의 수) 는 얼마인지 파악하고, Mini ba.. 2024. 9. 18.
Claude 를 참고하여 신약개발경진대회 Baseline code 분석하기 Baseline code 를 봐도 코드 뜻을 모르는 경우 데이콘에서 기본적으로 모든 신약개발경진대회 참가자들에게 Baseline code 를 준다. 하지만 이는 도메인 지식이 없는 사람이 봤을 때에는 이게 대체 무슨 코드인지 모를 수 있는 부분이 있다. 나 역시 해당 도메인에 종사하지는 않고 단지 학부때 전공이 관련이 있고 며칠 전 LAIDD 에서 진행 하는 신약개발 부트캠프 3일간 풀데이로 참여했을 뿐이다. (참고로 다녀오고 나서 몸살 걸렸다..) 그나마 그 부트캠프를 통해 도메인 지식을 알게 되었고 어떤 코드가 어떤 도메인 지식에 해당하는지에 대해 알게 되었는데 다른 참가자들은 충분히 모를 수 있다. 따라서 그분들 입장이라면 어떻게 했을까 궁금해서 혹시 Claude 로 경진대회에 대해 설명하고 Bas.. 2024. 9. 17.
AI를 이용한 신약개발 경진대회: IRAK4 IC50 활성값을 예측 About 신약개발 경진대회 한국제약바이오협회에서 주최하는 신약개발 경진대회가 있다. 주제는 IRAK4 IC50 활성값을 예측하는 모델 개발하는 것으로, 자가면역질환을 해결하기 위한 약물을 개발하는 것이 목적인듯 하다. 학습용 데이터 size 는 1952이며 놀랍게도 Kaggle 과는 달리 feature 에 대한 설명이 아예 안나와있다. 그냥 알아서 다들 도메인지식으로 변수명만 보고 유추 하는건가 싶다. ‘IRAK4 IC50 활성값’ 에 대한 도메인 지식 (NCBI 자료 참고)IRAK4 의 의미IRAK4의 full name 은 interleukin 1 receptor associated kinase 4 로, 면역반응에 있어 중요한 역할을 수행한다. 이 gene 에 mutation이 발생하면 Recurre.. 2024. 9. 16.
딥러닝으로 하는 신약개발 딥러닝으로 신약개발을 하기 시작하게 된 계기제약회사의 Job description 을 보다보면 자주 '신약개발' 이라는 키워드가 눈에 들어온다. 신약개발에 딥러닝이 사용되기 시작된 계기가 있는데 딥러닝을 사용했을 때 예측 정확도가 월등히 좋아진 사건 이후로 신약개발에서 잘 사용이 된다고 한다. Drug-likeness란 무엇인가: 삐빅, 약물다운 후보 화합물입니다.신약 개발을 위해서는 신약 후보물질 부터 찾아야 하고 그 후보물질이 얼마나 Drug 로서의 성질을 가지고 있는지, 그리고 그렇다 하더라도 실제로 합성하기는 현실적으로 쉬운지 등을 알아보는 절차를 가진다. Drug 로서의 성질을 'Drug-likeness (우리말로는 '약물다움')' 라고 부르는데 이는 다음과 같은 조건을 충족 시킬 수록 Drug.. 2024. 9. 14.
LAIDD 인공지능 & 파이썬 프로그래밍 역량강화 교육과정과 함께하는 신약개발 최근LAIDD 사이트에서 신약개발 관련 강의를 들으면서 알게 된 내용을 아래와 같이 정리해봄. 출처:LAIDD 인공지능 & 파이썬 프로그래밍 역량강화 교육과정  https://colab.research.google.com/github/StillWork/AIDD-LAIDD/blob/main/z4_DeepLearning.ipynb#scrollTo=-AQRftuEqGqx z4_DeepLearning.ipynbRun, share, and edit Python notebookscolab.research.google.com https://deepchem.readthedocs.io/en/latest/api_reference/moleculenet.html 신약개발에 deep learning 이 쓰이게 된 계기2012년.. 2024. 8. 25.
Pytorch Autograd (자동미분) 개념 Pytorch 에서는 일일이 사용자가 손으로 미분된 식을 구현해서 coding 하지 않아도 자동으로 미분해주는 autograd 라는 기능이 있다. Autograd 라는 pytorch 내의 패키지가 "computational graph" (이건 우리가 흔히 생각하는 그래프라는 막대나 선형그래프 같은 차트가 아니라 노드와 엣지로 구성된 일종의 마인드맵같이 생긴 그래프를 의미) 를 생성한다. 이 때 Tensor 는 node 가 되고 Tensor 간 계산을 수행하는 function 이 edge 가 된다.  아래 code 에서 autograd 를 적용시킨 간단한 사례를 보여주고 있는데 크게 단계별로 나눠보면 1. Data generation 2. Weight generation 이 때, weight 는 autog.. 2024. 8. 5.
Deep learning 의 구조: 복잡한 수식 없이 이해하기(2) 들어가며이전 포스팅에서는 복잡한 수식이 없이도 Deep learning 의 기본적인 프로세스를 알아보았다.Sin 함수값을 예측하기 위한 Process로 크게1. Forward propagation,2. loss 계산,3. backward propagation,4. weight 를 update를 하는 과정을 거쳤는데 이번 포스팅에서는 세부적으로 알아보고자 한다. 세부 Step 설명1. Forward propagationy_pred = a + b * x + c * x**2 + d * x**3 와 같은 수식으로 y 의 예측값인 y_pred를 계산한다. 2. Loss 계산실제 y 값과 predict 된 값간의 차이로 인해 발생하는 손실을 계산하기 위해 두 값의 차이를 구한 후 이를 제곱하여 합을 취한다. 이렇게.. 2024. 7. 28.
Deep learning 의 구조: 복잡한 수식 없이 이해하기 큰 틀에서의 Deep learning은 무엇일까Deep learning 을 배우다 보면 개인적으로 느끼는 불편함이 처음부터 자료형 (예를 들어, 파이토치라면 텐서란 무엇인지 등등) 에 대한 지식을 배우게 한다는 것이다. 내가 당장 알고 싶은것은 큰 틀에서 Deep learning 을 하는 이유는 무엇이고 어떠한 프로세스로 작동하는지 등등인데 이것부터 설명하는 책은 아직까지 내가 본 적이 없다. 그래서 이 포스팅에서는 자료형 이야기 보다는 Deep learning 의 목적, 어떤 절차로 Deep learning 이 진행되는지 등에 대해 이야기 해보려고 한다. (사실 이 문제는 비단 데이터 사이언스 뿐 만 아니라 프로그래밍 책을 보면 뭘 봐도 변수명 짓는 법, 자료형 부터 배우게 하더라.. 어느 유명한 강사.. 2024. 7. 23.
반응형