Sunny Archive ☀️
본문 바로가기

전체 글105

[Pytorch] view, reshape, permute 함수 : 차원 재구성 텐서의 크기를 바꾸는 view, reshape 함수와 차원 순서를 바꾸는  reshape 함수에 대해 알아봅시다. view 함수view는 텐서의 크기를 바꾸는 함수로, 기존의 데이터와 같은 메모리 공간을 공유하고 contigious 할 때 사용 가능합니다. (아닌 경우 에러 발생)  import torchx = torch.randn(4,4)y = x.view(2,2,4)z = x.view(-1,8)print(x.size())print(y.size())print(z.size())"""[출력]torch.Size([4, 4])torch.Size([2, 2, 4])torch.Size([2, 8])""" reshape 함수reshape는 view 처럼 텐서의 크기를 바꿔주는 함수입니다. 약간의 다른점이 있다면, .. 2024. 9. 8.
통계적 신호 처리 Overview 통계적 신호 처리란 무엇인지 알아보고 estimation, detection의 정의와 classical, bayesian 접근법에 대해 정리해봅시다. Statistical signal processing통계적 신호 처리는 검출 및 추정과 시계열 분석을 다루는 디지털 신호처리의 한 분야로, noise를 포함한 관측값을 사용하여 실제로 관찰할 수 없는 미지의 상태 또는 매개변수 최적값을 추정하는 걸 목표로 합니다. 이중에서, 신호 검출 및 추정 (Signal Detection and Estimation)은 신호를 처리하여 유의미한 정보를 추출하는 것을 목적으로 합니다. Statistics vs Machine learning통계학과 머신러닝 모두 '데이터로부터 어떻게 학습할 것인가?' 란 질문에서 시작합니다... 2024. 9. 5.
Adaptive filter 정의, 사용 이유, 활용 예시 Adaptive filter란 무엇인가?adaptive하다는 건 시간에 따라 변화하는 데이터나 환경에 대응하여 적응할 수 있는 성질을 가지고 있다는 걸 의미합니다. adaptive filter는 입력 신호의 특성에 따라 filter coefficient 또는 tap weight가 특정 criterion에 의해 시간에 따라 변화하는 필터를 말합니다. 고정된 coefficient를 가지는 일반적인 필터와는 달리, adaptive filter는 환경 변화에 맞춰 값을 조정하여  성능을 최적화할 수 있습니다. 언제 Adaptive filter를 사용할까?signal 특성을 미리 알 수 없거나 signal이 time variant할 때 사용합니다.Ex) speech signal, video signal, nons.. 2024. 9. 3.
[Pytorch] gather 함수 : index에 따라 값을 수집/추출 주어진 index 텐서에 따라 input 텐서의 값을 추출하여 새로운 텐서를 생성하는 gather 함수에 대해 알아봅시다. gather 함수torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor[Parameters]* input: 입력 텐서* dim: gather 사용 시, 기준이 되는 축 (0이면 행 방향, 1이면 열 방향)* index: 특정 값을 값들을 수집할 위치를 지정하는 index 텐서(input tensor와 index tensor의 dimension이 동일해야함)  1) dim=0 (행 방향)인 경우 t = torch.tensor([[1, 2], [3, 4]])index = torch.tensor([[0, 0], [.. 2024. 9. 3.
[Pytorch] scatter_ 함수 : index에 따라 특정 위치 값을 직접 삽입/수정 주어진 index에 따라 원본 텐서의 특정 위치에 값을 직접 수정하는 scatter_ 함수에 대해 알아봅시다. torch.scatter 함수와 torch.scatter_ 함수 다른점torch.scatter 함수 : 원본 텐서를 수정하지 않고, 새로운 텐서를 반환 (out-of-place)torch.scatter_ 함수 : 원본 텐서를 직접 수정함 (in-place) torch.scatter_ 함수Tensor.scatter_(dim, index, src, *, reduce=None) → Tensor[Parameters]* dim: scatter 사용 시, 기준이 되는 축 (0이면 행 방향, 1이면 열 방향)* index: element들의 index, 숫자를 어떤식으로 옮길지 결정하는 규칙* src: 옮길.. 2024. 9. 3.
[Pytorch] broadcast_tensors 함수 : 텐서 확장 및 연산 브로드캐스팅 기능을 이용해 두 텐서를 같은 크기로 확장하는 broadcast_tensors 함수에 대해 알아봅시다. broadcast_tensors 함수브로드캐스팅은 서로 다른 크기의 텐서를 같은 크기로 확장하여 연산을 가능하게 합니다. 이 함수를 쓰려면, 아래 조건을 만족해야 합니다. [브로드캐스팅 규칙]비교하는 두 차원 크기가 같거나 두 차원 중 하나의 크기가 1이어야 함 * 브로드캐스팅 O x = torch.rand(3,6)y = torch.rand(1,6)a,b = torch.broadcast_tensors(x,y)print(a.size())print(b.size())"""[출력]torch.Size([3, 6])torch.Size([3, 6])"""  * 브로드캐스팅 X x = torch.rand.. 2024. 9. 3.