본문 바로가기

공부17

MLOps (머신러닝 오퍼레이션 자동화) 최근, 머신러닝에 대해서 이것저것 서칭을 하다가 MLOps에 관한 키워드가 많이 보여서 한번 알아보았다. 한 프로젝트 안에서 코드를 짜서 머신러닝을 돌려서 테스트를 해보는 것은 물론 중요한 부분이다. 하지만 이것이 실제로 어떻게 실생활에서 적용이 되고, 어떤 식으로 서비스가 이루어지는지 크게 보면 사소한 부분이라고 볼 수 있다고 한다. MLOps는 ML + Ops를 합친 용어로 머신러닝 모델 개발과 머신러닝 운영 Workflow의 간극을 줄이기 위한 분야이다. 크게 Model Development와 Model Prediction으로 나누는 관점으로 볼 수 있다. MLOps의 목표는 머신러닝 모델 개발과 머신러닝 모델 운영에서 사용되는 문제의 반복을 최소화 하면서 비즈니스 가치를 창출하는 것 모델링에 집중.. 2021. 11. 15.
플로이드 와샬 (Floyd-Warshall) 알고리즘 이번에는 플로이드 와샬 알고리즘에 대해서 공부를 해보았다. 지난번 다익스트라 알고리즘에 이어서 최단거리와 관련된 알고리즘이다. 다익스트라는 하나의 정점에서 출발했을 때, 다른 모든 정점으로의 최단 경로를 구하는 알고리즘이었다면, 플로이드 와샬은 '모든 정점'에서 '모든 정점'으로의 최단 경로를 구해야할때, 플로이드 와샬을 사용해야 한다. 플로이드 와샬 알고리즘의 핵심 아이디어는 '거쳐가는 정점'을 기준으로 최단거리를 구하는 것이라고 보면 된다. 1 , 2, 3, 4의 총 4개의 노드를 가진 그래프가 있다. 이를 바탕으로 플로이드 와샬을 그려보면 초기 그래프에 대한 표를 작성할 수 있고, 그 다음을 차례대로 노드1만 거치는 경우 부터 노드4만 거치는 경우를 따져가면서 값을 업데이트하면 된다. 그럼 오른쪽 .. 2021. 11. 9.
Shortest Paths(다익스트라 알고리즘 (Dijkstra Algorithm)) 이번에는 다익스트라 알고리즘에 대해서 공부를 해보았다. 다익스트라 알고리즘은 단일 시작점으로부터 다른 노드들까지의 최단 경로를 구하는 알고리즘이다. 또한, 음의 가중치를 허용하지 않는 최단경로를 말한다. 위의 그림을 설명하자면, 시작점을 제외한 모든 저점과 시작점 사이의 거리를 무한으로 표현하고 다음과 같은 수행을 반복한다. 1. 현재 선택한 정점(처음엔 시작점)에 곧장 연결되고, 아직 방문하지 않은 정점들을 모두 본다. 2. 선택한 정점과 보고있는 정점 사이의 거리와 시작 정점과 선택한 정점까지의 최단거리의 합이 현재까지 구한 시작 정점과 보고 있는 정점 사이의 거리보다 짧을 경우, 이를 갱신해준다. 3. 1, 2번 수행이 모두 끝난 이후, 아직 방문하지 않은 정점들 중 시작점과의 거리가 가장 짧은 정.. 2021. 11. 2.
GCN : Graph convolution Network (2) 이어서 포스팅을 하려고 한다. GNN Layer는 크게 3가지 동작으로 나눌 수 있다. Aggregate (메시지 패싱) Combine (업데이트) Readout (Graph Level Task에서만) 아래 그림과 같이 어떠한 그래프가 Input으로 들어오게 되면 GNN Layer를 거쳐서 새로운 그래프가 형성이 된다고 보면 된다. 위의 3가지 동작을 설명하기 앞서서 GNN의 표기법에 대해서 짚고 넘어간다. 이렇게 표기가 되어있고, 이를 바탕으로 위의 그림을 다시 나타내자면, 위와 같이 나타낼 수 있다. 다시 돌아와서, 3가지 동작에 대해서 설명을 하고자 한다. 1. Aggregate : 타겟 노드의 이웃 노드들의 k-1시점의 hideen state를 결합한다. 2. Combine : k-1 시점 타겟 .. 2021. 11. 2.