전체 글 57

OMNeT++ 실습 (Tictoc)

오늘은 OMNeT++ 실행시키고 아래의 OMNeT++ 기술 문서의 TicToc 예제를 한번 해볼 것임https://docs.omnetpp.org/tutorials/tictoc/part1/ OMNeT++을 실행해주면 다음과 같은 IDE가 나오게 됨OMNeT++ Proejct를 눌러주고프로젝트 명은 tictoc으로 했습니다.하고 나서, 다음 화면에 exmaples 디렉토리가 있는데 거기 안에 tictoc_examples가 존재해서 그거 클릭하고 Finish! 먼저 왼쪽 Project Explorer에 tictoc이 존재하니 잘 들어와진 거고..이제 이런 화면이 나왔다는 뜻은 "워크스페이스가 비었는데, 예제 가져올래?" 라고 묻는 거임 위: Install INET Framework (not recommende..

카테고리 없음 2026.06.09

OMNeT++의 개념

OMNeT++란?생각보다 굉장히 구린 UI..1. 절대 시뮬레이터 자체가 아니다."네트워크 시스템을 가짜 시간 안에서 실험할 수 있게 해주는 모듈 조립식 시뮬레이션 프레임워크" 먼저, 시뮬레이터가 아니라 프레임워크이다. omnetpp(지금부터 OMNeT++을 omnetpp라고 칭하겠음)를 깔았다고 해서, 시뮬레이터가 생긴게 절대 아님.레고로 예를 들어보자면, omnetpp은 레고 시스템 자체(블록 규격, 끼우는 방식, 설명서), 완성된 레고 작품은 내가 블록을 직접 조립하거나, 남이 만든 블록 세트(INET)를 가져와야 함. 그래서 omnetpp이 직접 제공하는 것들은:시뮬레이션을 굴리는 엔진 (DES 커널)모듈을 만들고 연결하는 틀 (C++ 클래스 + NED 언어)보고 디버깅하는 도구 (Qtenv GU..

연합 학습(Federated Learning) (4): Future Direction & My Opinion

제목 : Federated Learning - Challenges, methods, and future directions저자 : Tian Li, Anit Kumar Sahu, Ameet Talwalkar, and Virginia Smith 드디어 연합 학습에 관한 논문의 최종 정리.참 오래도 걸렸다.연합 학습에 대한 총정리를 해보도록 하겠다. 1] 연합 학습이 필요한 이유대규모의 엣지 컴퓨팅에서, 이질적이고 다양한 데이터들을 이용한 네트워크에서의 학습은 여러 과제를 낸다.대규모의 머신러닝 - complexity, load, ... 한계가 존재한다는 것엣지 디바이스의 컴퓨팅 성능이 향상되는 장점을 이용해야 한다는 것중앙 서버에서의 분산을 최적화 해야한다는 것디바이스로부터 온 개인정보가 포함된 데이터 보호..

카테고리 없음 2026.06.05

연합 학습(Federated Learning) (3): Challenges

제목 : Federated Learning - Challenges, methods, and future directions저자 : Tian Li, Anit Kumar Sahu, Ameet Talwalkar, and Virginia Smith​ 3] Statistical Heterogeneity통계적 이질성을 한번 들여다보도록 하자.아마,, data가 non-iid한 문제에 대해 열거를 할 것 같고, 이에 대한 해결책을 제시할 것 같다.전에 찾아보니 non-iid한 data를 iid하게 만드는 방법은 아직까지 없는 것 같다.하긴 있었으면 통계적 이질성이라는 문제도 없겠지. Modeling heterogeneous data기계 학습에는 메타 학습 및 멀티태스크 학습과 같은 방법을 통해 통계적 이질성을 모델링..

카테고리 없음 2026.06.05

연합 학습(Federated Learning) (2): Challenges

제목 : Federated Learning - Challenges, methods, and future directions저자 : Tian Li, Anit Kumar Sahu, Ameet Talwalkar, and Virginia Smith 이번에는 Surveys of related and current work부터 논문 리뷰 시작연합학습의 현재 연구들은 어떻게 진행되고 있을까​알다시피 연합 학습이란 각 디바이스의 privacy를 보존하는 동시에 대규모의 머신러닝을 돌리는 것.하지만 여러 한계점이 아직까지 존재하고, 이것을 해결해야하는 것에 초점을 둬야 한다.이 섹션에선 Introduction에서 소개했던 연합학습의 과제를 더 구체적으로 살펴보도록 하자.​1] Communication Efficiency..

AI 2026.06.05

연합 학습(Federated Learning) (1): Introduction

제목 : Federated Learning - Challenges, methods, and future directions저자 : Tian Li, Anit Kumar Sahu, Ameet Talwalkar, and Virginia SmithDescription연합 학습은 데이터를 로컬로 유지하면서 휴대폰이나 병원과 같은 원격 기기 또는 사일로화된 데이터 센터에서 통계 모델을 학습하는 것입니다.이질적이고 잠재적으로 대규모일 수 있는 네트워크에서의 학습은 대규모 머신 러닝, 분산 최적화, 개인정보 보호 데이터 분석을 위한 표준 접근 방식에서 근본적으로 벗어나야 하는 새로운 과제를 야기합니다.이 글에서는 연합 학습의 고유한 특성과 과제에 대해 논의하고, 현재 접근 방식에 대한 광범위한 개요를 제공하며, 다양한..

AI 2026.06.04

머신러닝에서의 Causality(인과)

지난번 포스팅에서 상관분석을 하는 방법을 알아봤다. 간단하게, 피어슨 상관계수를 통한 두 변수의 상관관계를 판단하는 것이다. 그렇다면 인과관계는 뭘까? 먼저 정의먼저 살펴보자.(정의) 하나의 사건(원인)이 다른 사건(결과)를 직접적으로 만들어내는 관계를 뜻하며, 단순한 상관관계를 넘어 원인과 결과가 명확히 연결되어야 한다.나는 상관관계와 인과관계의 차이를 떠올리다보면, 어느새 머릿속에 복잡해지곤 했다. 상관관계가 곧 인과관계 아닐까? 라는 의문이 들 때도 있었다. 그렇다면, 상관관계와 인과관계의 차이는 어떻게 될까?1. 상관관계 vs 인과관계사례를 보면 그나마 이해가 된다.한 연구자가 아이스크림 판매량의 연중 증감 추이를 확인했다. 그리고 연중 익사 사망자의 증감 추이를 함께 놓고 두 변인 간의 상관분..

AI 2026.06.04

머신러닝에서의 Correlation (상관)

1. Correlation(정의) 상관관계 = 두 변수가 서로 관련되어 함께 변하는 정도와 방향을 나타내는 통계적 개념. 한 변수가 변할 때 다른 변수가 어떻게 변하는지를 수치(-1과 +1 사이)로 표현하며, 1에 가까우면 양의 상관, -1에 가까우면 음의 상관, 0에 가까우면 상관관계가 거의 없음을 의미한다. 보통 이 수치는 "상관계수(Correlation Coefficient)"라고 나타낸다.주의: 하나가 다른 하나에 영향을 주는 인과관계는 절대 아니다. 둘의 관계가 서로 "상관성을 가진다"는 것이다. scatter plot으로 표현하면 이것을 직관적으로 이해할 수 있다. X축에 한 변수, Y축에 다른 변수를 설정했다고 가정하고, 두 변수 값을 산포도로 나타내보자. (1,1) 산점도: X 변수가 커질..

AI 2026.06.04

머신러닝에서의 Correlation(상관)

1. Correlation(정의) 상관관계 = 두 변수가 서로 관련되어 함께 변하는 정도와 방향을 나타내는 통계적 개념. 한 변수가 변할 때 다른 변수가 어떻게 변하는지를 수치(-1과 +1 사이)로 표현하며, 1에 가까우면 양의 상관, -1에 가까우면 음의 상관, 0에 가까우면 상관관계가 거의 없음을 의미한다. 보통 이 수치는 "상관계수(Correlation Coefficient)"라고 나타낸다.주의: 하나가 다른 하나에 영향을 주는 인과관계는 절대 아니다. 둘의 관계가 서로 "상관성을 가진다"는 것이다. scatter plot으로 표현하면 이것을 직관적으로 이해할 수 있다. X축에 한 변수, Y축에 다른 변수를 설정했다고 가정하고, 두 변수 값을 산포도로 나타내보자. (1,1) 산점도: X 변수가 커질..

AI 2026.06.04

GPU 분산 학습 - DDP (Distributed Data Parallel)

DDP를 알기 전에, 먼저 DP에 대해서 알아야 한다.일단 이름에서 알 수 있듯이, 뭐 병렬적인 데이터 처리? 이런 느낌인 것 같다. DP (Data Parallel)한 프로세스에 대해서 여러 GPU를 사용하는 것.프로세스 = 실행 중인 프로그램 하나 (e.g. 웹 브라우저)쓰레드 = 프로세스 내에는 여러 개의 쓰레드가 존재, 같은 메모리를 공유 중 (e.g. UI 생성, 네트워크 요청, 자바 스크립트 등등) 큰 배치를 GPU 개수만큼 조각내서 각각의 GPU에 넘기고, 각 GPU가 순전파, 역전파를 수행한 뒤 다시 모아서 파라미터를 업데이트 나루토 식당 예시.나루토 마을에 웨이터(메인 프로세스)가 손님인 나루토(batch)를 데려온다.손님 접시를 4등분 실행 ------- (GPU0에서) batch 수를..

AI 2026.06.04