목록전체 글 (163)
Just Fighting

데이터 프레임의 attrs속성은 데이터프레임의 정보를 저장할 수 있는 속성이다. 데이터의 출처, 설명, 단위 등의 부가 정보를 저장해서 사용하면 된다. 딕셔너리의 형태이기 때문에, 딕셔너리를 사용하듯이 저장하고 조회하면 된다.import pandas as pdtest = {'a':[2,3,4], 'b':[5,4,3]}df = pd.DataFrame(test)print('df.attrs의 결과 :', df.attrs)df.attrs['name'] = 'TEST' # 저장print('df.attrs의 결과 :', df.attrs)print("df.attrs['name']의 결과 :", df.attrs['name']) 순서대로 실행한 예시도 함께! https://pandas.pydata.org/docs..

1. LLM이란?대규모 언어 모델(Large Language Model, LLM)은 자연어 처리(NLP) 분야에서 중요한 발전을 이룬 기술.대규모의 데이터를 학습해 수십억 개의 파라미터를 가지며,인간과 유사한 텍스트 이해 및 생성능력을 보유한 모델. 문맥을 이해하고 자연스러운 문장을 만드는 데 뛰어난 성능을 가진다. 2. LLM의 환각(Hallucination)이 발생하는 이유는? LLM은 학습된 데이터에 의존한다.따라서 최신 정보에 대한 정확한 답변이 어렵다. 명령과 확률에 의해 돌아가는 시스템이기 때문에 답변이 될 확률이 낮다고 해도,답을 만들어내기 위해 엉뚱한 답을 내놓기도 한다. 2-1. LLM의 성능을 향상시킬 수 있는 기술 Prompt Engineering 많은 정보를 제공(상세하..

앞서 논문 리뷰를 했으나, 제대로 이해하지 못한 것 같아서 추가적인 공부를 진행했다.그런데 이제 ChatGPT와 함께한,,ㅎㅎ 1. 트랜스포머의 목적은?트랜스포머는 말을 얼마나 잘 만드느냐가 중요한 것이다.번역에 대한 값은 이미 다 있다. rose가 장미라는 사실을 알고 있다.'rose is flower'라는 말을 번역하기 위해 '장미', '는', '꽃', '이다'를 어떻게 배열할 것인지에 대한 문제. 잘 배열하기 위해서 단어 간의 관계를 학습하는 것이다.단어 간의 관계를 학습하기 위해 어텐션을 사용하는 것이고,하나에서 답을 얻는 것보단 여러 개에서 답을 얻어 사용하는 것이 좋으니까 멀티헤드 어텐션을 사용하는 것. 2. 어텐션의 쿼리, 키, 밸류의 행렬은 어떻게 계산하는가?입력값을 임베딩하고, 쿼..

https://convex-optimization-for-all.github.io/contents/chapter03/ Convex Functions · 모두를 위한 컨벡스 최적화03. Convex Functions 이 장에서는 Convex function의 정의, 예시, 주요 속성 및 Convexity를 유지하는 연산에 대해 살펴볼 것이다.convex-optimization-for-all.github.io convex function$f : \mathbb{R}^n \rightarrow \mathbb{R}$의 정의역이 convex set이고,임의의 두점 $x, y \in dom f$ 를 잇는 선분 위의 모든 점들이 함수 f 위 점들보다 위에 있다면 그 함수는 convex $f(\theta x+(1-\t..

https://towardsdatascience.com/vector-norms-in-machine-learning-5b8381a5130c Vector Norms in Machine LearningA guide to p-norms.towardsdatascience.com Vector벡터란 특정 길이를 가진 숫자들의 1차원 배열. $a = [1,2,3, \cdots, n]$ 벡터의 요소들은 특정한 순서로 배열되어 있다.각 요소의 위치는 일반적이고 고유한 의미를 담고 있으며, 위치(인덱스)를 사용해 접근 가능$a[1] \rightarrow 2$ 벡터를 공간 내 한 점으로 생각할 수도 있다.벡터의 길이가 $n$이면, 그 점은 $n$차원 공간에 존재한다고 할 수 있다. Vector Norms벡터를 ..

세가지 종류의 set ( affine set, convex set, cone )에 대해 정리 line, line segment, ray$y = \theta x_1 + (1-\theta)x_2$ line직선. 두 점을 지나면서 양쪽 방향으로 무한히 커지는 선. ($\theta \in \mathbb{R}$)affine set은 line이 모여서 만들어짐. line segment선분. 두 점 사이에서만 정의되는 선. ($0 \le \theta \le 1$)convex set은 line segment가 모여서 만들어짐. ray반직선. 한 점에서 시작해 다른 점을 지나면서 무한히 커지는 선. ($\theta > 0 $)con은 ray가 모여서 만들어짐. Affine set점, 직선, 평면, 초평면과..

최적화 문제란?여러 개의 선택 가능한 후보 중에서 최적의 해(Optimal value) 또는 최적의 해에 근접한 값을 찾는 문제기계학습 분야에서는 비용함수(Cost function)을 최소화 혹은 최대화시키는 모델의 파라미터를 구하는 것.convex optimization problem도 최적화 문제의 한 종류! 표현 형식제약조건을 모두 만족하는 정의역에서 목적함수 $f$를 최소로 만드는 벡터 $x$를 $x^*$로 표시하고,이를 최적해optimal solution라고 한다. \begin{align} &\min_{x \in D} && f(x) \\ &subject \ to && g_i(x) \le 0, i = 1,\cdots, m \\ &&&h_j(x) = 0, j = 1, \cdots, r \end{a..

최적화의 목표는 가능한 많은 해법 세트 중에서 문제에 대한 최적의 해결책을 찾는 것.구글의 ortools를 이용해 최적화 문제를 푸는 방법을 익혀보자. 선형문제에 사용하는 솔버인 GLOP를 사용해 최적화 문제를 해결하는 방법을 연습했다.2가지 방법이 눈에 띄어 함께 테스트해보았다. 1. Constraint와 Objective 사용https://developers.google.com/optimization/introduction/python?hl=ko 먼저 라이브러리를 가져온다.# 라이브러리 가져오기from ortools.init.python import initfrom ortools.linear_solver import pywraplp 문제 해결자(솔버)를 선언하고, 풀고자하는 문제의 변수를..

4. Why Self-Attention 셀프 어텐션 레이어와 순환 레이어, 컨볼루션 레이어에 대한 비교 진행=> 3가지 조건 (층별 계산 복잡성, 연속 연산, 최장 경로 길이) 1. 각 층에 대한 총 계산 복잡도 => 시퀀스의 길이가 차원보다 작으면($n recurrent layer=> 이런 상황은 최첨단 기계 번역 모델(예: word-piece, byte-pair)에 사용되는 시퀀스 표현에서 자주 발생 => separable convolution의 경우 $O(knd+nd^2)$까지 복잡성을 감소시킴=> 그러나, $k=n$일 때, separable convolution의 복잡성은 self-attention layer와 point-wise feed-forward layar의 결합과 동일 ..

3.3. Position-wise Feed-Forward Networks 인코더, 디코더의 각각의 레이어는 각 포지션에 따로 그리고 동일하게 적용되는'fully connected feed-forward network 완전 연결 피드 포워드 네트워크'를 포함한다.FFN은 두 번의 선형 변환과 그 사이 ReLU 활성화로 구성된다. $$FFN(x) = max(0, xW_1+b_1)W_2 + b_2$$ 선형 변환이 다른 위치에서 동일하게 일어나지만, 각 층마다 다른 파라미터를 사용함.이것은 커널 사이즈가 1인 두 개의 컨볼루션이라고 묘사할 수 있음. 더보기선형 변환과 커널 사이즈 1인 컨볼루션 사진의 가운데 2X2의 행렬이 커널.커널 사이즈가 1이면 저 출력(노란색 행렬)도 입력(파란색 행렬)과 같이 3X..