File size: 9,315 Bytes
fde4e28
b2da78b
 
 
 
 
 
 
 
 
 
 
 
 
 
fde4e28
b2da78b
fde4e28
b2da78b
fde4e28
 
b2da78b
 
 
 
 
 
3b712ca
fde4e28
b2da78b
fde4e28
b2da78b
 
d3b582f
b2da78b
 
 
 
fde4e28
b2da78b
 
 
fde4e28
b2da78b
 
 
 
fde4e28
b2da78b
 
 
 
fde4e28
b2da78b
 
fde4e28
b2da78b
 
fde4e28
b2da78b
 
 
 
 
 
 
 
 
 
 
fde4e28
b2da78b
 
 
fde4e28
b2da78b
fde4e28
b2da78b
 
 
 
 
 
fde4e28
b2da78b
 
 
 
fde4e28
b2da78b
fde4e28
b2da78b
 
 
 
 
 
 
 
fde4e28
b2da78b
fde4e28
 
b2da78b
 
 
 
 
 
 
 
 
 
 
fde4e28
b2da78b
 
fde4e28
b2da78b
fde4e28
b2da78b
 
 
 
 
fde4e28
b2da78b
 
 
fde4e28
b2da78b
fde4e28
b2da78b
 
 
 
 
 
fde4e28
b2da78b
 
 
 
fde4e28
b2da78b
fde4e28
b2da78b
 
fde4e28
b2da78b
 
 
 
 
 
fde4e28
b2da78b
32c7338
b2da78b
32c7338
fde4e28
 
b2da78b
 
 
 
142fa03
b2da78b
 
fde4e28
b2da78b
fde4e28
b2da78b
 
 
 
 
 
fde4e28
b2da78b
 
 
fde4e28
b2da78b
 
 
 
 
 
 
 
 
 
 
 
 
fde4e28
b2da78b
fde4e28
b2da78b
 
 
fde4e28
b2da78b
 
 
 
 
fde4e28
b2da78b
 
fde4e28
b2da78b
 
 
 
 
 
 
fde4e28
b2da78b
fde4e28
b2da78b
 
 
fde4e28
b2da78b
 
 
 
 
fde4e28
b2da78b
9db8bb4
b2da78b
fde4e28
b2da78b
 
fde4e28
 
 
b2da78b
3b712ca
fde4e28
 
 
b2da78b
 
fde4e28
 
 
b2da78b
 
 
fde4e28
b2da78b
 
fde4e28
b2da78b
 
 
 
 
 
 
142fa03
5025cfa
142fa03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269

import gradio as gr
import torch
import torch.nn as nn
import torch.optim as optim
from torch.optim.lr_scheduler import CosineAnnealingLR
import matplotlib.pyplot as plt
import numpy as np

class HolographicMasterCodeTransformer(nn.Module):
    def __init__(self, input_dim=8, d_model=128, nhead=8, num_layers=6, output_dim=1, n_harmonics=4):
        super().__init__()
        self.d_model = d_model
        self.n_harmonics = n_harmonics
        self.alpha_0 = 1.0 / 137.035

        self.input_proj = nn.Linear(input_dim, d_model)

        encoder_layer = nn.TransformerEncoderLayer(
            d_model=d_model,
            nhead=nhead,
            dim_feedforward=d_model * 4,
            dropout=0.1,
            activation='gelu',
            batch_first=True,
            norm_first=True
        )
        self.transformer = nn.TransformerEncoder(encoder_layer, num_layers=num_layers, enable_nested_tensor=False)

        self.harmonic_weights = nn.Parameter(torch.randn(n_harmonics, d_model))

        self.output_head = nn.Sequential(
            nn.LayerNorm(d_model),
            nn.Linear(d_model, d_model // 2),
            nn.GELU(),
            nn.Dropout(0.1),
            nn.Linear(d_model // 2, output_dim)
        )

    def forward(self, x, alpha=None):
        if alpha is None:
            alpha = self.alpha_0

        h = self.input_proj(x)
        h = h.unsqueeze(1)
        h = self.transformer(h)
        h = h.squeeze(1)

        psi = torch.zeros_like(h)
        for n in range(self.n_harmonics):
            phase = 2 * torch.pi * (n + 1) * (alpha - self.alpha_0) * 800.0
            psi += self.harmonic_weights[n] * torch.cos(h * (n + 1) + phase)

        alpha_dev = torch.abs(alpha - self.alpha_0)
        security_factor = torch.exp(-300.0 * alpha_dev)

        h = h + 0.35 * psi * security_factor
        return self.output_head(h)

    def holographic_reg(self):
        reg = sum(torch.norm(w, p=1) for w in self.harmonic_weights)
        return 0.0015 * reg / self.n_harmonics


def train_model(alpha_value, epochs):
    """Modeli eğit ve loss grafiğini döndür"""
    model = HolographicMasterCodeTransformer()
    optimizer = optim.AdamW(model.parameters(), lr=0.001, weight_decay=1e-5)
    scheduler = CosineAnnealingLR(optimizer, T_max=epochs, eta_min=1e-6)
    criterion = nn.MSELoss()

    torch.manual_seed(42)
    X = torch.randn(300, 8)
    y = torch.sin(X.sum(dim=1, keepdim=True)) * 0.9 + 0.05 * torch.randn(300, 1)

    losses = []

    for epoch in range(epochs):
        optimizer.zero_grad()
        pred = model(X, alpha=alpha_value)
        loss = criterion(pred, y)
        reg = model.holographic_reg()
        total_loss = loss + reg

        total_loss.backward()
        torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)
        optimizer.step()
        scheduler.step()

        losses.append(loss.item())

    # Grafik oluştur
    fig, ax = plt.subplots(figsize=(10, 6))
    ax.plot(losses, linewidth=2, color='#FF6B6B')
    ax.set_xlabel('Epoch', fontsize=12)
    ax.set_ylabel('Loss', fontsize=12)
    ax.set_title(f'Eğitim Süreci (α = {alpha_value:.8f})', fontsize=14)
    ax.grid(True, alpha=0.3)
    ax.set_yscale('log')

    final_loss = losses[-1]

    plt.close(fig) # Close the figure to free up memory
    return fig, f"Final Loss: {final_loss:.6f}"


def compare_alphas(epochs):
    """Farklı alpha değerlerini karşılaştır"""
    alpha_values = {
        "Nominal (1/137.035)": 1/137.035,
        "Fiziksel (1/137.035999)": 1/137.035999,
        "Sapma1 (1/137.000)": 1/137.000,
        "Sapma2 (1/137.070)": 1/137.070
    }

    fig, ax = plt.subplots(figsize=(12, 7))
    colors = ['#FF6B6B', '#4ECDC4', '#45B7D1', '#FFA07A']

    results = {}

    for (name, alpha_val), color in zip(alpha_values.items(), colors):
        model = HolographicMasterCodeTransformer()
        optimizer = optim.AdamW(model.parameters(), lr=0.001, weight_decay=1e-5)
        scheduler = CosineAnnealingLR(optimizer, T_max=epochs, eta_min=1e-6)
        criterion = nn.MSELoss()

        torch.manual_seed(42)
        X = torch.randn(300, 8)
        y = torch.sin(X.sum(dim=1, keepdim=True)) * 0.9 + 0.05 * torch.randn(300, 1)

        losses = []

        for epoch in range(epochs):
            optimizer.zero_grad()
            pred = model(X, alpha=alpha_val)
            loss = criterion(pred, y)
            reg = model.holographic_reg()
            total_loss = loss + reg

            total_loss.backward()
            torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)
            optimizer.step()
            scheduler.step()

            losses.append(loss.item())

        ax.plot(losses, label=name, linewidth=2.5, color=color)
        results[name] = losses[-1]

    ax.set_xlabel('Epoch', fontsize=12)
    ax.set_ylabel('Loss', fontsize=12)
    ax.set_title('Alpha Değerleri Karşılaştırması', fontsize=14)
    ax.legend(fontsize=10)
    ax.grid(True, alpha=0.3)
    ax.set_yscale('log')

    # Sonuçları metne dönüştür
    results_text = "**Final Loss Değerleri:**\n\n"
    for name, loss in sorted(results.items(), key=lambda x: x[1]):
        results_text += f"• {name}: {loss:.6f}\n"

    plt.close(fig) # Close the figure to free up memory
    return fig, results_text


# Gradio Interface
with gr.Blocks(title="OmegaCode: Holographic Master Code") as demo: # Removed theme parameter from here based on Gradio 6.0 warning
    gr.Markdown("""
    # 🌌 OmegaCode: Evrensel Kaynak Kodun Holografik Korunumu

    Bu uygulama, **Ω_v57** teorisini temel alan Holografik Master Code Transformer modelini etkileşimli bir şekilde test etmenizi sağlar.

    **Teori Özeti:**
    - **Master Code (Ψ)**: Evrenin temel titreşim dokusunu temsil eden harmonik dalga süperpozisyonu
    - **Alpha (α) Güvenlik Kilidi**: İnce yapı sabiti değerindeki sapmalara karşı sistemi koruyan mekanizma
    - **Ryu-Takayanagi Entanglement**: Karadelik ufkundaki minimal yüzey alanı üzerinden bilgi korunumu
    - **Holografik AI**: Yapay zeka eğitiminde kuantum hata düzeltme benzeri etkileri
    """)

    with gr.Tabs():
        with gr.Tab("Tek Alpha Eğitimi"):
            gr.Markdown("### Belirli Bir Alpha Değeriyle Eğitim Yap")

            with gr.Row():
                alpha_input = gr.Number(
                    value=1/137.035,
                    label="Alpha Değeri",
                    info="Varsayılan: 1/137.035 (Nominal)"
                )
                epochs_input = gr.Slider(
                    minimum=50,
                    maximum=500,
                    value=150,
                    step=50,
                    label="Epoch Sayısı"
                )

            train_btn = gr.Button("Eğitimi Başlat", variant="primary", size="lg")

            with gr.Row():
                output_plot = gr.Plot(label="Loss Grafiği")
                output_text = gr.Textbox(label="Sonuç", interactive=False)

            train_btn.click(
                fn=train_model,
                inputs=[alpha_input, epochs_input],
                outputs=[output_plot, output_text]
            )

        with gr.Tab("Alpha Karşılaştırması"):
            gr.Markdown("### Farklı Alpha Değerlerini Karşılaştır")

            epochs_compare = gr.Slider(
                minimum=50,
                maximum=300,
                value=150,
                step=50,
                label="Epoch Sayısı"
            )

            compare_btn = gr.Button("Karşılaştırmayı Başlat", variant="primary", size="lg")

            with gr.Row():
                compare_plot = gr.Plot(label="Karşılaştırma Grafiği")
                compare_text = gr.Markdown(label="Sonuçlar")

            compare_btn.click(
                fn=compare_alphas,
                inputs=[epochs_compare],
                outputs=[compare_plot, compare_text]
            )

        with gr.Tab("Teori Hakkında"):
            gr.Markdown(r"""
            ## Ω_v57 Teorisi Detayları

            ### Master Code (Ψ)
            Evrenin temel titreşim dokusunu temsil eden harmonik dalga süperpozisyonu:

            $$\Psi(\mathbf{x}, t, lpha) = \sum_{n=1}^{N} A_n \cos(\mathbf{k}_n \cdot \mathbf{x} + \omega_n t + \phi_n(lpha))$$

            ### Alpha Güvenlik Kilidi
            İnce yapı sabiti α ≈ 1/137.035 değerindeki sapmalara karşı sistem kendini otomatik olarak korur:

            $$\delta(lpha - lpha_0) 	imes \exp\left(-rac{d\Psi}{dlpha}
ight)$$

            ### Ryu-Takayanagi Entanglement
            Karadelik ufkundaki minimal yüzey alanı üzerinden kuantum dolaşıklığının geometrik temsili:

            $$S_{	ext{ent}}^{	ext{RT}} = rac{	ext{Area}(\gamma_{	ext{min}})}{4 G_{13}}$$

            ### Holografik AI Etkisi
            Bu mekanizmalar, yapay zeka eğitiminde Loss Zeroing hızını %140 artırmaktadır.
            """)

    gr.Markdown("""
    ---

    **Proje Kaynakları:**
    - GitHub: [OmegaCode Repository](https://github.com/KULLANICI_ADI/OmegaCode)
    - Teori: Ω_v57 Holographic Master Code Framework
    - Lisans: MIT
    """)

if __name__ == "__main__":
    demo.launch(theme=gr.themes.Soft()) # Moved theme parameter here based on Gradio 6.0 warning

# Dummy comment to force file modification for re-upload: v1.0.2