전체 글159 파이썬을 이용한 ChatGPT API 호출 1. Open AI API 키 발급 먼저 ChatGPT를 개발한 OpenAI에 접속하여 회원가입을 한다. OpenAI 홈페이지에서 [그림 1]과 같이 왼쪽 사이드바에서 API Keys 메뉴를 클릭한다. 그 다음 API keys 메뉴에서 Create new secret key 버튼을 클릭하여 API 키를 발급 받는다. 발급된 API 키는 유출되지 않도록 주의해야한다. 2. 파이썬을 이용한 ChatGPT API 호출 OpenAI에서는 OpenAI에서 개발한 인공지능 모델을 쉽게 사용할 수 있도록 파이썬 OpenAI 패키지를 제공하고 있다. OpenAI 패키지는 아래의 pip 명령어를 이용하여 다운받을 수 있다. pip install openai 파이썬 OpenAI 패키지를 다운 받은 후에 아래와 같이 파이.. 2023. 12. 3. [그래프 이론] 1. 그래프 (Graph)의 정의와 기본 속성 1. Graph의 수학적 정의 수학에서 graph는 $G = (\mathcal{V}, \mathcal{U})$로 표현되는 쌍으로 정의되며, $\mathcal{V}$와 $\mathcal{U}$는 각각 node (또는 vertex)와 edge의 집합이다. 최근 데이터과학이나 머신러닝에서는 각 node와 edge에 대한 속성을 나타내는 node-feature 행렬 $\textbf{X}$와 edge-feature 행렬 $\textbf{E}$를 추가한 attributed graph $G = (\mathcal{V}, \mathcal{U}, \textbf{X}, \textbf{E})$를 다루기도 한다. 그러나 고전적인 그래프 이론에서는 일반적으로 속성 행렬을 고려하지 않기 때문에 특정한 언급이 없다면, 속성 행렬이 .. 2023. 6. 16. 2022년 2월 최신 프로그래밍 언어 순위 1. 2022년 2월 TIOBE Index TIOBE Index에서는 프로그래밍 언어의 인기와 관련된 수치를 기반으로 프로그래밍 언어의 순위를 산정한다. 프로그래밍 언어의 순위는 아래의 기준을 바탕으로 결정된다. 해당 프로그래밍 언어를 이용하는 엔지니어의 수: 과거에 프로그래밍 언어를 배웠던 엔지니어들도 포함되기 때문에 이 수치는 프로그래밍 언어의 과거부터 현재까지의 인기를 간접적으로 포함한다. 해당 프로그래밍 언어 관련 강좌 및 홈페이지의 수: 프로그래밍 관련 강좌는 대부분 C와 Java처럼 꾸준히 이용되는 프로그래밍 언어를 기본으로 포함하기 때문에 과거부터 꾸준히 인기 있는 프로그래밍 언어를 간접적으로 나타낸다. Google, Bing, Wikipedia 등에서 프로그래밍 언어가 검색된 횟수: 현재 .. 2022. 2. 20. [머신 러닝 이론] - 다양한 관점에서의 머신 러닝 머신 러닝 분야의 엄청난 발전과 함께 최근 머신 러닝을 활용하면 무엇이든지 가능한 것처럼 이야기하는 연구나 제품들이 많이 등장하고 있다. 그러나 머신 러닝은 장단점이 존재하며, 실제 머신 러닝을 실용 기술 개발 단계에서 적용하다보면 기존의 방법론보다 비효율적인 경우도 많이 접하게 된다. 머신 러닝의 장단점과 응용 가능 분야를 이해하기 위해, 이 글에서는 머신 러닝이 무엇이고 어떠한 점이 새로운 것인지 다양한 관점에서 소개한다. 1. 데이터 과학 관점에서의 머신 러닝 머신 러닝을 한 문장으로 정의하자면 '데이터로부터 예측 알고리즘을 학습시키기 위한 모든 구성 요소'이다. 즉, 머신 러닝의 가장 기본적인 요소 중 하나는 '데이터'이다. 컴퓨터 과학에서 데이터를 기반으로 연산을 수행하는 모든 것을 데이터 과학.. 2021. 12. 14. 2021년 9월 최신 프로그래밍 언어 순위 2021년 9월 TIOBE Index TIOBE Index에서는 프로그래밍 언어의 인기와 관련된 수치를 기반으로 프로그래밍 언어의 순위를 산정한다. 프로그래밍 언어의 순위는 아래의 기준을 바탕으로 결정된다. 해당 프로그래밍 언어를 이용하는 엔지니어의 수: 과거에 프로그래밍 언어를 배웠던 엔지니어들도 포함되기 때문에 이 수치는 프로그래밍 언어의 과거부터 현재까지의 인기를 간접적으로 포함한다. 해당 프로그래밍 언어 관련 강좌 및 홈페이지의 수: 프로그래밍 관련 강좌는 대부분 C와 Java처럼 꾸준히 이용되는 프로그래밍 언어를 기본으로 포함하기 때문에 과거부터 꾸준히 인기 있는 프로그래밍 언어를 간접적으로 나타낸다. Google, Bing, Wikipedia 등에서 프로그래밍 언어가 검색된 횟수: 현재 인기 .. 2021. 9. 14. [머신 러닝/딥 러닝] 그래프 어텐션 네트워크 (Graph Attention Network) 구조 및 설명 1. Self-Attention Mechanism Graph attention network (GAT) [1]를 이해하기 위해서는 먼저 self-attention mechanism에 대한 이해가 필요하다. 아래의 그림 1은 구글 AI 블로그의 예제를 이용하여 자연어 처리에서 self-attention이 어떻게 정의되고 이용되는지를 보여준다. 자연어 처리에서는 'it', 'them', '그것'과 같이 문맥을 고려해야 단어가 무엇을 의미하는지 알 수 있는 경우가 많다. 그림 1의 예제에서도 'it'이라는 단어가 'animal'을 의미하는지 'street'을 의미하는지 알기 위해서는 같이 입력된 문장 전체를 고려해야 한다. Self-attention은 어떠한 입력을 이해하기 위해 같이 입력된 요소들 중에서 무.. 2021. 8. 1. [최적화] 입자 군집 최적화 (Particle Swarm Optimization, PSO)의 개념과 구현 1. 군집 기반 최적화 (Swarm-Based Optimization) 군집 기반 최적화는 수리적 최적화의 한 방법론으로써, 군집 기반 최적화에서는 여러 개의 optimizer가 서로 정보를 교환하며 동시에 최적화를 수행한다. 그림 1은 경사하강법 (gradient descent method)와 같은 single agent optimization과 PSO와 같은 swarm-based optimization의 차이를 개념적으로 보여준다. Single agent optimization에서는 주어진 법칙에 따라 최적해를 찾아간다. 대표적으로 경사하강법에서는 함수의 gradient를 따라 최적해를 찾아간다. 반면에 PSO와 같은 swarm-based optimization에서는 주어진 법칙에 더하여 agent .. 2021. 7. 25. 2021년 7월 최신 프로그래밍 언어 순위 2021년 7월 TIOBE Index TIOBE Index에서는 프로그래밍 언어의 인기와 관련된 수치를 기반으로 프로그래밍 언어의 순위를 산정한다. 프로그래밍 언어의 순위는 아래의 기준을 바탕으로 결정된다. 해당 프로그래밍 언어를 이용하는 엔지니어의 수: 과거에 프로그래밍 언어를 배웠던 엔지니어들도 포함되기 때문에 이 수치는 프로그래밍 언어의 과거부터 현재까지의 인기를 간접적으로 포함한다. 해당 프로그래밍 언어 관련 강좌 및 홈페이지의 수: 프로그래밍 관련 강좌는 대부분 C와 Java처럼 꾸준히 이용되는 프로그래밍 언어를 기본으로 포함하기 때문에 과거부터 꾸준히 인기 있는 프로그래밍 언어를 간접적으로 나타낸다. Google, Bing, Wikipedia 등에서 프로그래밍 언어가 검색된 횟수: 현재 인기 .. 2021. 7. 8. Python을 이용한 이용한 유튜브 (YouTube) 댓글 수집 1. YouTube Data API YouTubue 댓글 수집에는 Google에서 제공하는 YouTube Data API를 이용하는 방법과 동영상이 게시된 HTML 문서에서 직접 데이터를 크롤링 (crawling)하는 방법이 있다. 그러나 크롤링 방식은 YouTube에 의해 크롤링 코드의 접근이 차단되거나, 홈페이지 업데이트로 인해 HTML 문서의 형식이 변경되면 동작하지 않을 수 있다는 문제점이 있다. 이 글에서는 Python과 Google에서 제공하는 YouTube Data API를 이용하여 YouTube에 게시된 동영상의 댓글을 수집하는 방법을 소개한다. 개인적인 용도로 API를 이용할 경우에는 할당량을 초과할 일이 거의 없지만, 공개 서비스를 제공하기 위한 목적으로 API를 이용하는 경우에는 반드.. 2021. 1. 17. 2020년 9월 최신 프로그래밍 언어 순위 2020년 9월 TIOBE Index TIOBE Index에서는 프로그래밍 언어의 인기와 관련된 수치를 기반으로 프로그래밍 언어의 순위를 산정한다. 프로그래밍 언어의 순위는 아래의 기준을 바탕으로 결정된다. 해당 프로그래밍 언어를 이용하는 엔지니어의 수: 과거에 프로그래밍 언어를 배웠던 엔지니어들도 포함되기 때문에 이 수치는 프로그래밍 언어의 과거부터 현재까지의 인기를 간접적으로 포함한다. 해당 프로그래밍 언어 관련 강좌 및 홈페이지의 수: 프로그래밍 관련 강좌는 대부분 C와 Java처럼 꾸준히 이용되는 프로그래밍 언어를 기본으로 포함하기 때문에 과거부터 꾸준히 인기 있는 프로그래밍 언어를 간접적으로 나타낸다. Google, Bing, Wikipedia 등에서 프로그래밍 언어가 검색된 횟수: 현재 인기 .. 2020. 9. 7. [머신 러닝/딥 러닝] Metric Learning의 개념과 Deep Metric Learning 1. 거리 함수 (Distance Function) 통계, 데이터 마이닝, 머신 러닝 등에서는 데이터 간의 유사도를 수치화하기 위해 일반적으로 거리 함수 (metric function)을 이용한다. 가장 대표적인 거리 함수로는 Euclidean 거리가 있으며, 두 데이터 $\textbf{x}_1 \in \mathbb{R}^{d}$과 $\textbf{x}_2 \in \mathbb{R}^{d}$에 대해 식 (1) 같이 정의된다. $$ d_E(\textbf{x}_1, \textbf{x}_2) = \sqrt{\sum_{i=1}^{d} (\textbf{x}_{1, i} - \textbf{x}_{2, i})^2} \tag{1}$$ 또 다른 대표적인 거리 함수로는 각 축 방향으로의 분산까지 고려한 Mahalanobi.. 2020. 9. 6. CORD-19: 인공지능 기반의 COVID-19 연구 COVID-19 Open Research Dataset (CORD-19) 세계 최대 규모의 데이터 플랫폼인 Kaggle에서는 인공지능 기반의 코로나 바이러스 연구를 위해 COVID-19 open research dataset (CORD-19)을 공개했다. CORD-19는 COVID-19, SART-CoV-2, 그 외의 관련 코로나 바이러스에 대한 약 135,000개의 문헌을 모아 놓은 dataset이다. CORD-19는 Allen Instutite, Microsoft Research, IBM 등에서 코로나 바이러스 관련 연구를 위해 무료로 공개했으며, Kaggle CORD-19 페이지에서 다운 받을 수 있다. 데이터셋 구조 CORD-19는 코로나 바이러스 관련 문헌들의 metadata와 본문을 JSON의.. 2020. 6. 8. 이전 1 2 3 4 5 6 ··· 14 다음