CHƯƠNG I: GIỚI THIỆU VỀ THUẬT TOÁN ICA Thuật toán phân tích thành phần độc lập ICA (Independent Component Analysis) là một kỹ thuật tính toán thống kê cho phép tìm kiếm một tín hiệu trong một tập hợp các tín hiệu thu được dựa trên các đặc điểm thống kê của tín hiệu nguồn. Các vấn đề liên quan tham khảo tại tài liệu tham khảo [1, tr.1 Giới thiệu về tách nguồn mù(BSS) Tách nguồn mù được hiểu là đầu thu có thể khôi phục lại tín hiệu ở đầu phát mà không hề có hoặc có rất ít thông tin về kênh truyền cũng như tín hiệu đã được phát đi. Ứng dụng của phương pháp này không chỉ dừng lại trong lĩnh vực viễn thông mà còn liên quan đến nhiều lĩnh vực khác như xử lý hình ảnh, âm thanh hay thậm chí là dự đoán các yếu tố trong lĩnh vực tài chính ngân hàng. Với giả thiết đặt ra là chỉ biết được tín hiệu đã qua một kênh truyền bất kỳ mà hoàn toàn không biết gì về bản thân kênh truyền cũng như tín hiệu phát, việc có thể tìm lại tín hiệu ban đầu mới nghe có vẻ khó tin được.
Tuy nhiên trên thực tế điều này hoàn toàn có thể thực hiện được nhờ các thuật toán đã được nghiên cứu và thậm chí còn rất nhiều phương pháp để thực hiện. Trong đề tài này, chúng ta sẽ xem xét tổng quan bài toán tách nguồn mù để từ đó đi sâu vào nghiên cứu một trong những phương pháp tách nguồn mù phổ biến nhất hiện nay là ICA.1 Mô hình tách nguồn mù Trong mô hình ở hình 1.1, tất cả những gì chúng ta có được khi đem đi xử lý là chuỗi tín hiệu: x(t ) = [x1 (t ), x 2 (t ),. Trong T quá trình trộn có thể có nhiễu tác động với vector nhiễu là v( t ) = [v1 ( t ), v 2 ( t ),.1 : Mô hình tách nguồn mù Sources : Các tín hiệu nguồn Estimated sources: Nguồn được ước lượng Mixing System: Hệ thống trộn Mixed signals: Tín hiệu trộn Noise : Nhiễu Neural Network Model: Mạng ước lượng Để đơn giản vấn đề bây giờ ta xét một hệ thống gồm hai tín hiệu nguồn s1, s2. Quan sát tín hiệu tại hai điểm ta thu được hai tín hiệu trộn là x1, x2.2 : Hai tín hiệu nguồn s1,s2 t t Hình 1.3 : Tín hiệu quan sát tại hai điểm x1, x2 6 Mục đích của quá trình tách nguồn mù là xây dựng hệ thống đảo ngược, thường được gọi là hệ thống tái xây dựng, mạng neuron hay hệ thống đảo ngược thích ứng để ước lượng các tín hiệu vector ban đầu.
Hệ thống tái xây dựng Hệ thống ước lượng Hình 1.4 : Mô hình hệ thống tái xây dựng Hình 1.4 cho ta sơ đồ của hệ thống tái xây dựng, trong đó dựa trên các tín hiệu đã được tách ra khỏi hệ thống y( t ) = [ y1 ( t ), y 2 ( t ),., y n ( t )] và các vector quan sát T x nhận được cũng như là một vài kiến thức về hệ thống trộn đã được biết trước để xây dựng hệ thống thích ứng trong các môi trường luôn biến đổi. Thay vì ước lượng tín hiệu nguồn một cách trực tiếp, người ta thường xác định hệ thống trộn trước và ước lượng tín hiệu nguồn gián tiếp bằng các thông tin đã biết trước về hệ thống bằng các phương pháp tối ưu hóa nào đó. Như vậy tín hiệu nguồn sẽ được tách ra ngay cả khi hệ thống trộn không biết trước và thay đổi liên tục. Về lý thuyết, ta có thể tách nguồn mù mà hoàn toàn không biết gì về hệ thống trộn cũng như tín hiệu ban đầu.
Tuy nhiên để việc ước lượng được dễ dàng hơn và cho ra một kết quả duy nhất, việc sử dụng một số kiến thức đã có trước là vô cùng quan trọng. Trên thực tế, việc tách nguồn mù hoàn toàn có thể cho ra các tín hiệu không xác định rõ ràng như là hoán vị của tín hiệu ban đầu hoặc là một bội số của tín hiệu ban đầu. Tuy nhiên dạng sóng của tín hiệu ban đầu không thay đổi. Dù sự không rõ ràng này có một vài khuyết điểm nhưng vẫn hữu ích trong rất nhiều ứng dụng vì đôi lúc người ta chỉ quan tâm đến dạng sóng mà không quan trọng cường độ hay thứ tự mà chúng được sắp xếp.
Đặc biệt trong các hệ thống trộn 7 thay đổi liên tục, tín hiệu nhận được chắc chắn không thể như tín hiệu ban đầu mà có thể bị méo dạng nhất định. Sự méo dạng nhiều hay ít tùy thuộc vào hệ thống thích ứng ta xây dựng được có tốt hay không.2 Nguyên tắc chung của các thuật toán tách nguồn mù Dù có rất nhiều thuật toán tách nguồn mù, chúng có đặc điểm chung là đều dựa trên 4 nguyên tắc sau: ¾ Tìm ra hàm cost để đo một số thông tin nào đó liên quan đến việc tách tín hiệu, sau đó dùng một số thuật toán tối ưu hóa hàm cost này theo một nghĩa nào đó mà khi ta đạt được giá trị cực đại hay cực tiểu của hàm cost thì có thể tìm ra được dữ liệu ban đầu. Phương pháp này đòi hỏi các nguồn phải được giả định là độc lập thống kê và không có cấu trúc tạm thời. Các thống kê bậc cao được sử dụng để giải bài toán tách nguồn mù này.
Đây là cơ sở cho thuật toán ICA mà ta sẽ nghiên cứu kỹ trong đề tài này. ¾ Nếu tín hiệu nguồn có cấu trúc tạm thời (chẳng hạn như một đặc điểm nào đó của hàm tự tương quan của tín hiệu). Ta có thể sử dụng thông tin thống kê bậc hai để tính ma trận trộn của nó. Trong trường hợp này, các nguồn với hình dạng phổ giống nhau không thể tách ra được.
¾ Nếu tín hiệu không dừng theo thời gian, ta cũng có thể dựa vào tính không dừng của tín hiệu và thông tin thống kê bậc 2 để tách. Khác với các phương pháp khác, thông tin về tính không dừng có thể các nguồn Gauss với dạng phổ như nhau. Tuy nhiên, nó không cho phép tách các nguồn với tính chất không dừng giống nhau. ¾ Sử dụng phân tập tín hiệu trong các miền khác nhau (không gian, thời gian, tần số… hoặc kết hợp các yếu tố trên).
Phương pháp này có thể dễ dàng thấy được vì nó sử dụng rất nhiều trong các hệ thống FDMA và TDMA thường gặp.2 Thuật toán ước lượng ICA 1.1 Mô hình ICA Giả sử chúng ta quan sát được m tín hiệu hỗn hợp x1, x2,…,xm của n tín hiệu độc lập s1, s2, …, sn: xj = aj1s1 + aj2s2 + … + ajnsn , với mọi j = 1,m (1.1) 8 Trong mô hình của ICA, chúng ta coi mỗi tín hiệu hỗn hợp xj, cũng như các tín hiệu si, là các biến ngẫu nhiên. Mỗi giá trị tín hiệu thu được tại một thời điểm t : ví dụ xj(t), là một giá trị lấy mẫu của biến ngẫu nhiên đó. Không mất tính tổng quát, giả sử rằng các biến hỗn hợp xj là độc lập và có trị trung bình bằng 0. Biểu diễn hệ phương trình xj (j=1,m) theo vector và ma trận, ta có công thức: x = As (1.2) với x = [x1, x2,…,xm]T s = [s1, s2, …, sn]T A = [a11 a12 … a1n a21 a22 … a2n … am1 am2 … amn] Cơ sở của ICA là xem các thành phần si là độc lập thống kê.
Và chúng ta cũng giả sử rằng các thành phần độc lập này có phân bố phi gaussian (non-gaussian). Như vậy, nếu có thể ước lượng chính xác ma trận A, chúng ta sẽ có thể khôi phục được các tín hiệu sj ban đầu từ ma trận nghịch đảo B của ma trận A (B = A-1), giả sử rằng A là ma trận vuông (n = m).3) Mô hình trên là mô hình ICA tuyến tính không có nhiễu. Trong trường hợp có tín hiệu nhiễu n với phân bố Gaussian và trị trung bình bằng 0, ta sẽ có công thức: x = As + n (1.2 Ý tưởng của thuật toán ICA Phương pháp ICA là một phương pháp xử lý khá mới và dựa khá nhiều vào kiến thức toán học. Vì thế để bắt đầu tìm hiểu phương pháp ICA, ta sẽ đi qua một vài khái niệm cơ bản.
¾ Bất tương quan 9 Điều đầu tiên ta cần quan tâm ở đây về ICA là tính độc lập thống kê mạnh hơn rất nhiều so với tính bất tương quan. Xét một bài toán tách nguồn mù cơ bản, các đại diện của tín hiệu chúng ta tìm ra có thể bất tương quan với nhau nhưng không độc lập thống kê thì không thể tách ra khỏi nhau. Như vậy, tính bất tương quan là không đủ để tách tín hiệu ra khỏi nhau. Điều này giải thích tại sao các phương pháp cổ điển như PCA và FA không thể tách tín hiệu mà chỉ cung cấp cho ta các tín hiệu ngõ ra bất tương quan với nhau.
Trên thực tế, bằng việc sử dụng các thuật toán làm bất tương quan, chúng ta có thể biến đổi bất kỳ tổ hợp tuyến tính nào của các thành phần độc lập thành các thành phần bất tương quan trong đó ma trận trộn là trực giao. Thuật toán ICA sẽ được tính toán dựa trên ma trận trộn vuông góc sau khi đã được làm bất tương quan này. Phương pháp biến đổi thành các thành phần bất tương quan thường được xem là phương pháp tiền xử lý. Thông thường trong phương pháp ICA, người ta sử dụng PCA để làm phương pháp tiền xử lý.
¾ Phương pháp cơ bản của ICA là làm bất tương quan phi tuyến Chúng ta có thể hiểu độc lập thống kê chính là bất tương quan phi tuyến. Nếu s1 và s2 là độc lập tuyến tính thì mọi biến đổi phi tuyến của nó g ( s1 ) và h( s2 ) đều bất tương quan với nhau (trong trường hợp này bất tương quan đồng nghĩa với ma trận hiệp phương sai của chúng bằng 0). Trên thực tế những biến đổi phi tuyến như vậy đối với các thành phần bất tương quan thì không nhất thiết phải bất tương quan với nhau. + Nguyên tắc ước lượng ICA thứ nhất : Làm bất tương quan phi tuyến: Tìm một ma trận W sao cho với mọi i ≠ j , các thành phần yi , y j là bất tương quan với nhau và các phép biến đổi phi tuyến của nó cũng bất tương quan.
Điều này dẫn đến ý tưởng của phương pháp ICA: Nếu ta chọn được các phép biến đổi phi tuyến phù hợp, phương pháp này sẽ giúp tìm các thành phần độc lập. Tuy nhiên vấn đề đặt ra là phép biến đổi như thế nào là phù hợp?