전체 글 86

Split Learning

Intro Federated Learning (FL)은 여러 기관이 raw data의 공유 없이 협업이 가능하도록 하는 형태의 학습전략이다. 구조상 FL은 distributed data에 대한 학습을 진행하여, 단일 머신에서의 학습의 결과와는 다소 차이를 보일 수 밖에 없다. Split Learning (SL)은 FL과 같이 raw data의 공유 없이 단일 머신에서의 학습과 같은 결과를 낼 수 있도록 새로운 접근법을 제시한다. SL을 공부하기 전에, 이름만 들어서는 SL의 "Split"은 무얼 쪼갠다는건지 감이 안왔다. 데이터을 쪼갠다는 의미일까? 그렇다면 sample을 쪼개는걸까, feature를 쪼개는걸까? 데이터를 숨겨서 보내는 걸텐데, 어떻게 쪼갠다는거지...? 여러 생각을 하며 논문을 읽기 시..

Federated Learning

IntroFederated Learning (FL) 연합학습이란 말 그대로 여러 device 혹은 기관 (client라고 부르는) 에서 협업하여 모델을 만드는 방법 중 하나로, 각각의 client별 민감한 자료를 중앙 서버로 직접 보내지 않아도 되는 특장점이 있다. 이 방법은 간단하면서도 논문대로라면 굉장히 강력한 학습방법이 될 것이라 생각된다. FL은 머신러닝 분야에서 비교적 최근 등장한 개념이다. 2016년 arxiv에 처음 등장하였고, Google에서 제시한 기법이다. 이 논문을 처음 본 2020년 즈음에 봤을때는 피인용수가 1500회정도 였던거로 기억하는데, 2024-04-03 기준으로 15000회 정도된다. 최근 지속적으로 각광받고 있다는 방증이기도 하다. 이번 포스터에서는 이 논문에 소개된 방..

Mixed Precision (1) 정수 표현법

Intro Mixed Precision을 사용하려 보니, 옛날 컴공때 나를 스쳐 지나간 개념이 사용됬다. 제한된 bit로 어떤 숫자를 어찌 표현 가능할까? 다시 확인해보자. 정수의 표현 부호가 없는 정수 컴퓨터는 정수를 이진수로 표현한다. 가령, 8 bit는 00000000 ~ 11111111 까지 표현가능하다. 10 진수로 하자면 0 ~ 255 범위를 표현 가능하다는 사실이다. 마찬가지로 N bit는 아래만큼 표현 가능하다. $$0 \sim 2^{N}-1$$ 하지만, 이는 어디까지나 부호가 없는 정수의 표현에 해당한다. 부호가 있는 정수 Sign magnitude 부호 정보까지 표현 하려면, 주어진 bit중 하나의 bit에 부호 정보를 표시하는 방법이 있다. 예를들어, 아래처럼 가장 앞자리 bit에 1..

[23] Image-based profiling for drug discovery: due for a machine-learning upgrade?

2021 Abstract Summary 이미지 기반 프로파일링이라는 건, 생물학적 이미지 속 풍부한 정보를 다차원 프로파일로 줄이는 거임. 이 프로파일은 이미지에서 뽑아낸 특성 모음이고, 이를 통해 유용한 패턴을 찾아내서 약물 발견 과정에서 중요한 역할을 할 수 있음. 이 방법으로 질병과 관련된 표현형을 찾거나, 질병의 작동 원리를 이해하고, 약물이 어떻게 작용할지 예측하는 데 쓸 수 있음. 최근에 이런 방법이 학계나 제약 산업에서 검증되어서 실제로 쓰이기 시작함. 몇몇은 의미없는 결과도 있었지만, 이미지 정보를 더 잘 활용하는 머신러닝 기술이 발전하며 다시 주목받고 있음. 여전히 해결해야 할 문제들이 있긴 한데, 딥러닝이나 single cell분석 같은 새로운 기술이 이미지 속 생물학적 정보를 더 잘 ..

[22] Cell Painting, a high-content image-based assay for morphological profiling using multiplexed fluorescent dyes

2016 (Protocol) Abstract summary Morphological profiling에서는 세포의 현미경 이미지로부터 양적 데이터를 뽑아내서, 이걸로 샘플들 사이에 생물학적으로 뭔가 중요한 걸 찾아냄. 본 프로토콜을 Cell Painting이라고 하는데, 여섯 개의 형광 염료를 다섯 채널에서 이미징해서 여덟 가지 크게 중요한 세포 구성 요소나 세포기관을 보여주는 방식임. 대충 1,500개의 형태학적 특성을 측정해서 미묘한 표현형을 찾아내는 디테일한 프로파일을 만듦. 이렇게 다양한 실험적 조작을 받은 세포들의 프로파일을 비교해보면, 화학적이나 유전적 조작이 어떤 표현형 영향을 주는지, 화합물이나 유전자를 기능적 경로로 분류하거나, 질병의 특징을 찾아낼 수 있음. 결국 Cell Paintin..

[Linux] SCP File Transportation

맨날 할 때마다 까먹는... Local To Server Local에서 Server로 파일 전송할 때에는 아래와 같은 형식의 명령어를 내리면 된다. scp [FILE_TO_SEND] [USER_NAME]@[IP_ADDRESS]:[RECEIVING_ADDRESS] Local의 "/home/example.txt" 파일을 server의 "/home/test"에 보내려 할때 아래와 같이 보내면 된다. scp /home/example.txt jhyu@123.456.78.901:/home/test Server To Local 순서만 반대로 해주면 된다. > scp [USER_NAME]@[IP_ADDRESS]:[FILE_TO_SEND] [RECEIVING_ADDRESS] Server의 "/home/test/examp..

정리 조금/Codes 2024.03.11

Deep Copy & Shallow Copy

Intro 코딩을 하다보면 자주 객체를 복사하게 된다. 그런데 Python에서 가끔 복사 된 객체를 바꾸었더니, 원본도 같이 바뀌는 이상한 현상이 발생하기도 한다. (아래 참고) import copy # 원본 리스트 original_list = [1, 2, [3, 4]] # 복사 copied_list = original_list # 복사본의 수정 copied_list[2].append(5) # 결과 print(original_list) # [1, 2, [3, 4, 5]] print(copied_list) # [1, 2, [3, 4, 5]] 이유는 바로 나도 모르게 Shallow copy를 사용했기 때문이다. Shallow Copy Shallow copy란 원본 객체와 복사본 객체 모두 같은 내부 객체를 ..

Macro & Micro Averaging

IntroMulticlass에서 Overall Accuracy와 Macro F1 score는 언제 같아지는가? 라는 질문으로 시작된 몇가지 metrics에 대한 조사. 생각보다 부정확하게 알고있었다...! Precision, Recall 그리고 F1 score에 대해서는 아래 포스트에서 다루었으니, 오늘은 multicalss에서의 metric 대해 조금만 생각해보고 넘어가자.https://jaehong-data.tistory.com/5 F1 scoreIntro 이진 분류는 두가지 범주를 갖는 표본을 분류하는 것이다. 분류는 일상 뿐 아니라 여러 산업에서 중요하게 사용되어 왔다. 전통적인 통계 모형인 (MLE를 IRLS로 추정하는) logistics regression부터,jaehong-data.tisto..

[Python] Wallus Operator, :=

Intro Wallus (바다코끼리) 연산자는 바다코끼리를 연상시키는 이모티콘 (:=) 과 같은 모양으로, Python 3.8부터 사용이 가능해졌다. Assign & Return을 한번에 진행하는 기능이 있다. Example Wallus operator는 for문과 주로 같이 사용되는데, 이를 사용하지 않고 3보다 큰 index를 고르는 예제를 코딩하면 아래와 같다. numbers = [1, 2, 3, 4, 5, 6] index = None for i, num in enumerate(numbers): if num > 3: index = i break print("Index without walrus:", index) 반면, wallus operator를 사용하면 아래와 같이 line수가 줄어든다. num..

정리 조금/Codes 2024.02.23

Inner & Outer Product

의미 Inner product(內積 , 내적)와 Outer product(外積, 외적)는 공대시절 의미는 모른채 식을 외워 계산에만 적용했다. 의미는 백터 사이의 product, 즉 곱 연산으로 매우 간단하다. 뭔가 내적 외적이라 둘 사이에 반대되는 개념같아 보이지만, 그냥 다른 두 연산이다 (내 얕은 통찰로는 그렇다). 두 벡터 $\textbf{x}$와 $\textbf{y}$에 대해 내적과 외적이 어떻게 계산되는지, 어떤 결과가 나오는지 그리고 어떤 기하적 의미를 갖는지 엄밀하지 않게 알아보자. 내적 우선 개인적으로 나름 내린 내적의 의미는 두 벡터가 협동하여 낼 수 있는 힘의 크기이다. 따라서 결과는 스칼라로, 두 벡터의 방향성이 일치하는 정도만큼 두 벡터의 크기를 곱한다. 예를들어, 아래와 같이 방..