Blog

  • 베이지안 사고가 뭐야?

    베이지안 사고가 뭐야?

    베이지안 사고는 확률과 통계에 대한 접근 방식으로, 기존의 빈도주의적 관점과는 다른 특징을 가지고 있습니다. 베이지안 사고의 핵심 개념과 특징은 다음과 같습니다:

    베이지안 사고의 핵심 개념

    1. 주관적 확률
    베이지안 사고는 확률을 주관적인 믿음의 정도로 해석합니다[2]. 예를 들어, “주사위를 던질 때 3이 나온다고 1/6(16.66%) 확신할 수 있다”와 같이 확률을 개인의 믿음으로 표현합니다.

    2. 사전 정보의 활용
    베이지안 방법은 데이터를 분석하기 전에 가지고 있던 지식이나 믿음을 ‘사전분포’라는 형태로 분석에 포함시킵니다[1]. 이를 통해 기존 지식과 새로운 데이터를 결합하여 더 나은 추론을 할 수 있습니다.

    3. 베이즈 정리
    베이지안 추론의 핵심은 베이즈 정리입니다[9]. 이 정리는 사전분포와 우도함수를 결합하여 사후분포를 도출합니다. 즉, 기존의 믿음을 새로운 증거를 통해 업데이트하는 과정을 수학적으로 표현한 것입니다.

    베이지안 사고의 특징

    1. 불확실성의 표현
    베이지안 접근법은 모수를 고정된 값이 아닌 확률분포로 표현합니다[10]. 이를 통해 추정의 불확실성을 더 잘 표현할 수 있습니다.

    2. 유연한 추론
    베이지안 방법은 적은 데이터로도 추론이 가능하며, 새로운 정보가 추가될 때마다 믿음을 지속적으로 업데이트할 수 있습니다[8].

    3. 직관적 해석
    베이지안 분석 결과는 “가설이 참일 확률”과 같이 직관적으로 해석할 수 있습니다[10]. 이는 전통적인 p-값 해석보다 이해하기 쉬운 경우가 많습니다.

    4. 다양한 적용 분야
    베이지안 사고는 통계학뿐만 아니라 인공지능, 의사결정, 경제학 등 다양한 분야에서 활용되고 있습니다[6][8].

    베이지안 사고는 우리가 가진 사전 지식을 체계적으로 활용하고, 새로운 증거를 통해 믿음을 업데이트하는 방식으로 불확실성을 다룹니다. 이러한 접근법은 복잡한 현실 세계의 문제를 다루는 데 유용한 도구가 될 수 있습니다.

    Citations:
    [1] https://raniche-note.tistory.com/16
    [2] https://sumniya.tistory.com/29
    [3] https://velog.io/@tobigs_xai/7%EC%A3%BC%EC%B0%A8-Introduction-to-Bayesian-Statistics
    [4] https://blog.naver.com/hw5773/220528543394?viewType=pc
    [5] https://bioinformaticsandme.tistory.com/47
    [6] https://www.sisaweek.com/news/articleView.html?idxno=101454
    [7] https://blessedby-clt.tistory.com/56
    [8] http://expertchoice.co.kr/bayes_theorem.html
    [9] https://accesson.kr/kpageneral/assets/pdf/16128/journal-40-4-567.pdf
    [10] https://www.kipa.re.kr/cmm/fms/FileDown.do?atchFileId=FILE_000000000015428&fileSn=2

  • 쿼리,키,값 의 셀프 어텐션 메카니즘

    쿼리,키,값 의 셀프 어텐션 메카니즘

    Query(Q), Key(K), Value(V)는 셀프 어텐션 메커니즘의 핵심 구성 요소로, 입력 벡터를 세 가지 다른 표현으로 변환하는 과정을 거칩니다. 이 과정은 다음과 같이 이루어집니다:

    입력 벡터의 변환

    1. 초기 입력: 먼저 각 단어는 임베딩 과정을 통해 고차원 벡터로 변환됩니다[1].
    2. 선형 변환: 이 임베딩된 벡터는 세 개의 서로 다른 가중치 행렬(Wq, Wk, Wv)과 곱해져 Q, K, V를 생성합니다[5].
    • Q = Wq * 입력벡터
    • K = Wk * 입력벡터
    • V = Wv * 입력벡터
    1. 학습 가능한 파라미터: Wq, Wk, Wv는 모델이 학습하는 파라미터로, 훈련 과정에서 지속적으로 업데이트됩니다[1].

    Q, K, V의 역할

    • Query (Q): 현재 처리 중인 단어의 표현으로, 다른 단어들과의 관련성을 찾는 데 사용됩니다[3].
    • Key (K): 모든 단어의 특징을 압축한 값으로, Query와의 유사도를 계산하는 데 사용됩니다[3].
    • Value (V): 실제 정보를 담고 있는 값으로, 최종적으로 attention 가중치와 곱해져 출력을 생성합니다[3].

    변환의 의미

    1. 정보 추출: 이 변환 과정은 입력 벡터에서 특정 정보를 추출하고 강조하는 역할을 합니다[7].
    2. 컨텍스트 설정: Q, K, V로의 변환은 모델이 좁은 컨텍스트 내에서 검색과 매칭을 수행할 수 있게 합니다[7].
    3. 정보 중요도 학습: 모델은 이 과정을 통해 임베딩의 어떤 정보가 더 중요한지 학습합니다[7].

    계산 과정

    1. 유사도 계산: Q와 K의 내적을 통해 attention 스코어(유사도)를 계산합니다[6].
    2. 스케일링: 이 스코어를 임베딩 차원의 제곱근으로 나누어 스케일링합니다[8].
    3. 소프트맥스 적용: 스케일링된 스코어에 소프트맥스 함수를 적용하여 가중치를 생성합니다[6].
    4. 가중치 적용: 이 가중치를 V에 곱하여 최종 출력을 생성합니다[6].

    이러한 과정을 통해 셀프 어텐션 메커니즘은 입력 시퀀스 내의 각 요소가 다른 모든 요소와 어떻게 관련되어 있는지를 효과적으로 모델링할 수 있게 됩니다.

    Citations:
    [1] https://codingopera.tistory.com/43
    [2] https://www.youtube.com/watch?v=Yb3g3wjDsX4
    [3] https://mvje.tistory.com/258
    [4] https://kimmeoungjun.tistory.com/6
    [5] https://sebastianraschka.com/blog/2023/self-attention-from-scratch.html
    [6] https://ffighting.net/deep-learning-basic/%EB%94%A5%EB%9F%AC%EB%8B%9D-%ED%95%B5%EC%8B%AC-%EA%B0%9C%EB%85%90/attention-and-self-attention-in-deep-learning/
    [7] https://epichka.com/blog/2023/qkv-transformer/
    [8] https://cn-c.tistory.com/68

  • 토큰 임베딩과 위치 인코딩을 더하기

    토큰 임베딩과 위치 인코딩을 더하기

    토큰 임베딩과 위치 인코딩을 더하는 것이 값을 희석시키지 않을까 하는 우려는 자연스러운 의문입니다. 하지만 실제로는 그렇지 않습니다:

    1. 경험적 증거: 토큰 임베딩과 위치 인코딩을 더하는 방식은 실제로 효과적인 것으로 입증되었습니다. 이는 경험적으로 얻어진 결론입니다[1].
    2. 상대적 크기: 위치 인코딩 벡터의 값은 일반적으로 토큰 임베딩 벡터에 비해 상대적으로 작습니다. 따라서 더했을 때 토큰의 의미 정보를 크게 변형시키지 않습니다[1].
    3. 미세 조정: 위치 인코딩을 더하는 것은 토큰 임베딩에 미세한 조정을 가하는 정도의 효과를 줍니다. 이는 오히려 위치 정보와 의미 정보 사이의 조화를 이루게 합니다[1].
    4. 학습 가능한 파라미터: 많은 모델에서 위치 인코딩은 학습 가능한 파라미터로 구현됩니다. 이는 모델이 토큰 임베딩과 위치 정보 사이의 적절한 균형을 학습할 수 있게 합니다[3].
    5. 정규화 사용: 임베딩을 더한 후에는 보통 레이어 정규화(Layer Normalization)를 적용합니다. 이는 임베딩의 스케일을 조정하여 의미 정보와 위치 정보가 적절히 반영되도록 돕습니다[3].

    결론적으로, 토큰 임베딩과 위치 인코딩을 더하는 방식은 실제로 모델의 성능을 향상시키는 데 도움이 되며, 의미 정보와 위치 정보를 효과적으로 결합하는 방법으로 입증되었습니다.

    Citations:
    [1] https://dusanbaek.tistory.com/99
    [2] https://www.blossominkyung.com/deeplearning/transfomer-positional-encoding
    [3] https://binnni.tistory.com/20
    [4] https://data-newbie.tistory.com/942
    [5] https://www.youtube.com/watch?v=fr2Rze9FZC8
    [6] https://webnautes.tistory.com/2217
    [7] https://velog.io/@io0818/DL-Transformers
    [8] https://wikidocs.net/196666

  • 스케일드 닷-프로덕트 어텐션(Scaled Dot-Product Attention)

    스케일드 닷-프로덕트 어텐션(Scaled Dot-Product Attention)

    작동 원리

    1. 쿼리(Q), 키(K), 값(V) 생성: 입력 데이터로부터 Q, K, V 행렬을 생성합니다.
    2. 어텐션 스코어 계산: Q와 K의 전치행렬을 곱하여 어텐션 스코어를 계산합니다.
    3. 스케일링: 어텐션 스코어를 키 벡터의 차원 수의 제곱근(√dk)으로 나눕니다.
    4. 소프트맥스 적용: 스케일링된 스코어에 소프트맥스 함수를 적용하여 어텐션 가중치를 얻습니다.
    5. 가중합 계산: 어텐션 가중치와 V를 곱하여 최종 출력을 생성합니다.

    수식

    스케일드 닷-프로덕트 어텐션의 수식은 다음과 같습니다:

    $$Attention(Q, K, V) = softmax(\frac{QK^T}{\sqrt{d_k}})V$$

    여기서 dk는 키 벡터의 차원 수입니다.

    특징

    • 계산 효율성: 내적 연산을 사용하여 빠른 계산이 가능합니다.
    • 병렬 처리: 행렬 연산을 통해 효율적인 병렬 처리가 가능합니다.
    • 스케일링 효과: √dk로 나누는 스케일링 과정은 그래디언트 소실 문제를 완화합니다.

    장점

    • 다양한 입력 시퀀스 길이를 처리할 수 있습니다.
    • 학습 안정성을 향상시키고 모델의 성능을 개선합니다.
    • 복잡한 문맥 관계를 효과적으로 포착할 수 있습니다.

    스케일드 닷-프로덕트 어텐션은 트랜스포머 모델의 핵심 요소로, 자연어 처리 작업에서 높은 성능을 달성하는 데 중요한 역할을 합니다.

    Citations:
    [1] https://ko.wikipedia.org/wiki/%EC%8A%A4%EC%B9%BC%EB%9D%BC%EA%B3%B1
    [2] https://velog.io/@glad415/Transformer-3.-%EC%8A%A4%EC%BC%80%EC%9D%BC%EB%93%9C-%EB%8B%B7-%ED%94%84%EB%A1%9C%EB%8D%95%ED%8A%B8-%EC%96%B4%ED%85%90%EC%85%98-by-WikiDocs
    [3] https://velog.io/@cha-suyeon/%EC%8A%A4%EC%BC%80%EC%9D%BC%EB%93%9C-%EB%8B%B7-%ED%94%84%EB%A1%9C%EB%8D%95%ED%8A%B8-%EC%96%B4%ED%85%90%EC%85%98Scaled-dot-product-Attention
    [4] https://shyu0522.tistory.com/26
    [5] https://ctkim.tistory.com/entry/Attention-Mechanism
    [6] https://wikidocs.net/22893
    [7] https://docs.unity3d.com/kr/560/Manual/UnderstandingVectorArithmetic.html
    [8] https://welcome-to-dewy-world.tistory.com/108
    [9] https://wikidocs.net/219431