본문 바로가기

분류 전체보기37

[AI 소식] Midjourney v5로 만든 사람의 노화 과정 안녕하세요, 오늘은 이미지 생성 분야에서 가장 유명한 회사 중 하나인 Midjourney에서 최근에 공개한 Midjourney v5와, 비디오 생성을 앞세우고 있는 Runway 서비스를 활용해 한 어린 여자아이가 늙어가는 과정을 비디오로 생성해놓은 것을 봤습니다. 몇번을 돌려봤는지 기억이 나질 않습니다. 너무 생성 수준이 높아 마치 사진을 찍어놓은 것 같아 놀랐고, 얼마 전 돌아가신 할머니 생각이 나서 마음이 힘들기도 했습니다. AI 업계에 계신다면 최근의 생성 모델의 발전 속도는 감히 상상하기 어려웠다는 점에 공감하실 것 같습니다. 저 또한 이렇게 빠르게 발전할 지 상상도 못했습니다... 이번 영상은 christianortner라는 유저분이 만드신 작품입니다 (원본 게시물 링크). 제가 생각했던 부분은.. 2023. 4. 1.
[면접 꿀팁] 함수형 프로그래밍(Functional Programming)이란? 함수형 프로그래밍(Functional Programming)은 백엔드/프론트엔드를 막론하고 자주 질문 받으며 실제로 현업에서도 자주 다루는 개념입니다. 함수형 프로그래밍에 대해 설명해보도록 하겠습니다. 함수형 프로그래밍이란? 함수형 프로그래밍(Functional Programming)은 프로그래밍 패러다임 중 하나로, 순수 함수와 불변성(Immutable)을 강조하며, 프로그램의 상태 변경을 최소화하는 것을 목표로 합니다. 함수형 프로그래밍은 수학적 함수의 개념에 기반을 두고 있으며, 이를 통해 코드의 간결성, 모듈성 및 예측 가능성을 높일 수 있습니다. 함수형 프로그래밍의 주요 특징 순수 함수(Pure functions): 순수 함수는 동일한 입력에 대해 항상 동일한 출력을 반환하며, 외부 상태에 영향.. 2023. 3. 31.
[면접 꿀팁] 배열(Array)과 링크드 리스트(Linked list)의 특징 안녕하세요? 오늘은 신입 개발자 면접에서 빈번하게 등장하는 배열과 링크드 리스트의 특징을 파악하고 비교해보겠습니다. 일단, 배열과 링크드 리스트는 데이터를 저장하고 관리하는 데 사용되는 두 가지 기본적인 자료 구조입니다. 배열(Array) 연속된 메모리 공간에 데이터를 저장합니다. 인덱스를 사용하여 원소에 빠르게 접근할 수 있습니다. O(1)의 시간 복잡도를 가집니다. 고정된 크기를 가지며, 크기 변경이 어렵습니다. 미리 할당된 메모리 크기를 초과하면 새로운 메모리 공간을 할당하고 데이터를 복사해야 합니다. 원소를 삽입하거나 삭제할 때, 원소들을 이동시켜야 하므로 시간이 오래 걸릴 수 있습니다. 일반적으로 O(n)의 시간 복잡도를 가집니다. 메모리 사용이 효율적입니다. 각 원소는 인덱스로 접근되며, 추가.. 2023. 3. 31.
[PyTorch] 간략한 자기 소개 안녕하세요. 딥러닝을 연구하는 많은 분들께서 PyTorch를 쓰고 계신 걸로 알고 있습니다. 저는 2017년말부터인가 이것을 쓰기 시작했는데요, 그동안 많은 시간을 들여 코딩했지만 언제부터인가 각 기능이 정확히 어떻게 동작하는지 알고 싶어졌습니다. 그래서 시간 나는대로 기본적인 내용부터 설명해볼까 합니다. 저는 개인적으로 PyTorch Forum에서 활동을 하고 있는데요, 말하기 민망할 정도로 가끔 들어가서 다른 사람들의 문제를 함께 고민하고 해결하는 시간을 갖습니다. 답변을 200개 정도 달았는데, 생각보다 채택률이 저조한 이유는 물론 모든 답변이 문제 해결로 이어진 것은 아니지만 문제를 해결한 답변에 체크를 안해주시는 분들이 꽤 많은 것 같아 손해보는 느낌이 듭니다... 뭐 아무튼 앞으로도 꾸준히 활.. 2023. 3. 30.
[논문 리뷰] Graph Convolutional Network (GCN) 오늘은 Graph Convolutional Network에 대해 소개하겠습니다. 우리 살아가는 인간관계처럼 우리 주변에는 수많은 그래프가 있고 그것을 잘 이해하기 위한 획기적인 모델입니다. 본 글은 Semi-Supervised Classification with Graph Convolutional Network 논문을 바탕으로 설명하는 글입니다. Introduction 우리가 다루는 많은 정보는 graph의 형태로 이해할 수 있는데, 이 구조를 기존의 Convolution 또는 Recurrent Model로는 제대로 다루기 어렵습니다. 그 이유는 크게 세가지가 있는데, 격자(grid) 구조로 그래프를 다룰 수 없다. 그래프란 이미지나 다른 데이터와는 달리 그 구조적인 형태가 매우 자유롭다 서로 다른 두 .. 2023. 3. 30.
[논문 리뷰] Mixed Precision Training (MP, AMP) 오늘은 모델의 파라미터를 32-bit가 아닌 16-bit로 표현하여 배치 사이즈를 늘리고, 그에 따라 학습 속도를 빠르게 할 수 있는 Mixed Precision Training이라는 기술에 대해 설명하도록 하겠습니다. 더불어, 이 과정에서 발생할 수 있는 문제를 Adaptive 방식으로 해결하는 과정과 나아가 Automatic Mixed Precision(AMP)이 뭔지 다루도록 하겠습니다. 혹시 논문부터 읽고 싶으신 분은 Mixed Precision Training을 참고하세요 Mixed Precision의 배경 Single Precision(Floating Point 32, FP32)는 과연 딥러닝 학습에서 양보할 수 없는 선일까? 만약 Half Precision(Floating Point 16, .. 2023. 3. 29.